eberaud Posted February 5, 2016 Report Share Posted February 5, 2016 One of the significant confusion stone in my understanding of LabVIEW shoe is the difference between "Call", "Launch", "Load", and "Open". I'm not adding "Run" to this list, as it is more self-explanatory, at least I believe. In the Execution window of a VI Properties, we can see the following options: "Auto handle menus at launch" "Run when opened" In the Customize Appearance window, we can see those other options: "Show front panel when called" "Show front panel when loaded" I'm not asking for an explanation of those specific options, but I'd like a more general understanding of what those "Call", "Launch", "Load", and "Open" verbs mean. Thanks! Quote Link to comment
Rolf Kalbermatter Posted February 8, 2016 Report Share Posted February 8, 2016 One of the significant confusion stone in my understanding of LabVIEW shoe is the difference between "Call", "Launch", "Load", and "Open". I'm not adding "Run" to this list, as it is more self-explanatory, at least I believe. In the Execution window of a VI Properties, we can see the following options: "Auto handle menus at launch" "Run when opened" In the Customize Appearance window, we can see those other options: "Show front panel when called" "Show front panel when loaded" I'm not asking for an explanation of those specific options, but I'd like a more general understanding of what those "Call", "Launch", "Load", and "Open" verbs mean. Thanks! Auto handle menus at launch: never used that and not sure exactly what it does Run when opened: When the front panel is opened the VI is automatically started. "Show front panel when called": When the VI is called as subVI, this will open the front panel automatically "Show front panel when loaded" . When the VI is loaded into memory, this will open the front panel automatically. so basically they are all related in some ways but do different things at different moments. Quote Link to comment
Chris_Collier Posted February 8, 2016 Report Share Posted February 8, 2016 "Launch" - I believe this refers to LabVIEW starting. If you're running an executable, it would be when that executable is opened. "Open" - This is when a specific VI (or control, though there're not many things that happen when a control is opened) is started (double click on it in a project or in a file system folder), and you can see its front panel on your user-interface. "Call" - When something is executed from the block diagram of another executing VI. "Loaded" - Things are loaded into memory at different times. Anything in the direct hierarchy of a VI is loaded when that VI is opened and loaded (If you open "Main", it and all of its sub-vis and their dependents will be loaded into memory). For dynamically loaded VIs, when the code which loads the VI (not runs) executes, it is loaded into memory. I hope this clears up any confusion. 1 Quote Link to comment
eberaud Posted February 9, 2016 Author Report Share Posted February 9, 2016 (edited) Thanks. Still a bit of confusion: "Open" - This is when a specific VI (or control, though there're not many things that happen when a control is opened) is started (double click on it in a project or in a file system folder), and you can see its front panel on your user-interface. When a VI is started? You don't mean executed, right? To me it's rather "when its front panel is open". Sorry I just find the word "started" very ambiguous here. Run when opened: When the front panel is opened the VI is automatically started. When would you ever want to do that? I always want to control when a VI runs, either statically as a subvi on a block diagram, or through the proper VI Server method if it's a dynamic call. Do you mean that, for example, you would use a simple "Open FP" invoke node and that will run the VI automatically in addition to opening its front panel? Any other use case? Edited February 9, 2016 by Manudelavega Quote Link to comment
ned Posted February 9, 2016 Report Share Posted February 9, 2016 When would you ever want to do that? I always want to control when a VI runs, either statically as a subvi on a block diagram, or through the proper VI Server method if it's a dynamic call. Do you mean that, for example, you would use a simple "Open FP" invoke node and that will run the VI automatically in addition to opening its front panel? Any other use case? You'll see this sometimes when the developer doesn't have access to the application builder, but wants the user to be able to double-click the VI on their desktop and have it start running immediately instead of being presented with the opportunity to edit the VI. If you need to edit a VI with that setting enabled, you can drop it as a subVI through "Select a VI..." and then control-double-click it to get to the block diagram. Quote Link to comment
eberaud Posted February 9, 2016 Author Report Share Posted February 9, 2016 You'll see this sometimes when the developer doesn't have access to the application builder, but wants the user to be able to double-click the VI on their desktop and have it start running immediately instead of being presented with the opportunity to edit the VI. Thanks, that makes sense. We only work in a executable environment, so I rarely think about the needs of those of us who need to run the sources. Quote Link to comment
Rolf Kalbermatter Posted February 9, 2016 Report Share Posted February 9, 2016 Thanks, that makes sense. We only work in a executable environment, so I rarely think about the needs of those of us who need to run the sources. Actually that setting is inherently used by the application builder. Whatever you define as top level VI in there gets intrinsically set this flag and will cause the VI to launch your application. Quote Link to comment
eberaud Posted February 10, 2016 Author Report Share Posted February 10, 2016 Actually that setting is inherently used by the application builder. Whatever you define as top level VI in there gets intrinsically set this flag and will cause the VI to launch your application. Oooohh Quote Link to comment
ShaunR Posted February 10, 2016 Report Share Posted February 10, 2016 (edited) This is probably one of those situation where you ask 10 people and get 10 different answers. So here's mine. Open=Prepare resource. (General programming term used for comms (e.g. TCPIP) primitives, files, memory etc) OR Open=Particular function in LabVIEW to make a VIs front panel visible - only used in the FP context. Synonymous with "Show". Called/call = execute. Load/Loading/Loaded=Open (prepare resource meaning) from disk and place into memory... Launch=Run When Opened=Open (prepare resource meaning) then show the front panel (we can argue about this step) then execute. Edited February 10, 2016 by ShaunR Quote Link to comment
eberaud Posted February 10, 2016 Author Report Share Posted February 10, 2016 Thanks to all. Things are much clearer now! Quote Link to comment
Aristos Queue Posted February 21, 2016 Report Share Posted February 21, 2016 "Open" is used in two contexts. Opening the VI is separate from opening the front panel of the VI. Run when open -- specifically when the VI is opened using File >> Open or its equivalent of double clicking the VI in the OS file system. It has no effect on VIs loaded programmatically. Open panel when called -- when the VI is called as a subVI, open the VI's panel. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.