Hello,
I think your last question in there was about my suggestion, so I'll clarify. My understanding is that you originally had a while loop and a for loop in parallel, where in the while loop you had a subVI which would open it's front panel. The behavior you wanted was that the for loop to pause when that subVI runs, and resume after that subVI completes. What I suggested was to replace your for loop with a while loop that behaves like a for loop with pausing capabilities. HOWEVER, by pausing I don't mean in the middle of a loop iteration... the solution I proposed will at each loop iteration ask the question, "do I execute the suspend case or the usual case?" Thus, you will not pause in the middle of an iteration, rather, when your subVI is launched and the boolean is set (which controls the case structures input selector), then your while loop begins executing the suspend case on subsequent iterations, until the boolean is changed again (which presumably happens when your subVI finishes executing). If the loop is in the middle of an iteration when your subVI (in the other loop) is called, then that loop will finish it's current iteration, and then use the boolean to decide which case to execute next (as it always would), where if your subVI hasn't finished by the time that loop iteration completes, then the suspend case should execute.
If you need to have finer control over what happens, you'll have to use a more sophistocated architecture to communicate between your loops. For example, you could replace your for loop with a more general state machine instead (my original suggestion is actually a two-state state machine). How it would work would be to have it trivially cycle through a sequence of states, where in each state you put a piece of your code that you have in your for loop. Then, you could use a boolean, much like in the previous suggestion, to conditionally jump to the suspend state from any of those "pieces" states, and stay in the suspend state until the boolean changed back. Now to start your execution back at the right place (in the right state) you'll need to have some next-state logic which likely takes the current state, previous DISTINCT state, and the boolean's value to determine the next state. You will also have to keep track of computation results from a given state to pass to a next state.
Ok, I know that's a lot of text, but I think if you read it carefully it will be coherent and helpful. From what I understood from the last post, you were putting a while loop and a case structure AROUND your current for loop... I am suggesting that you REPLACE the for loop with the while loop and case structure (state machine) architecture.
Hopefully this helps! If necessary, you can post a very stripped down version of your application... so it won't be too big!
Best Regards,
JLS