eberaud Posted February 10, 2017 Report Share Posted February 10, 2017 I read Darren's excellent article about creating healthy Dialog box (http://labviewartisan.blogspot.ca/2014/08/subvi-panels-as-modal-dialogs-how-to.html) I thought using a dynamic call and selecting the option Load and retain on first call would prevent loading the subVI in memory when loading but not running the caller VI. I created a super light project to test it but didn't get the expected behavior: - If I don't open the Caller, I don't see any VI in memory (except for the VI that reads the VIs in memory of course). - If I open the Caller, I see both the Static Callee and the Dynamic Callee, whereas I expected to see only the Static Callee. Did I misunderstand how that option works? VIs in memory.zip Quote Link to comment
smithd Posted February 11, 2017 Report Share Posted February 11, 2017 (edited) It has to be in memory to make sure the code can compile. Look back at his post: "By changing the subVI to Load and retain on first call, it will no longer be reserved for running when you run the top-level VI, and as a result, will not ever hang your app if you accidentally leave it open before running." Its in memory, but its state doesn't change from edit mode until the function runs. Personally, I think modals are evil always and so I use floating/normal if possible. It seems like any time someone uses a modal dialog its a situation where I was wanting to copy/paste from another part of the same application and now I can't because the modal takes over. Whatever you do, for the love of god please don't do what VIPM does where it endlessly forces itself in front of every other window every 3 seconds just to piss you off. I know the exe doesn't care or have emotions, but every time I install a package I ctrl+alt+delete the damn thing just to spite it. Edited February 11, 2017 by smithd 1 Quote Link to comment
drjdpowell Posted February 11, 2017 Report Share Posted February 11, 2017 Bad terminology then; it should be “Reserve and retain on first call” or similar. Quote Link to comment
smithd Posted February 11, 2017 Report Share Posted February 11, 2017 Maybe it does what it says in an exe? Quote Link to comment
drjdpowell Posted February 12, 2017 Report Share Posted February 12, 2017 I suspect the terminology is a holdover from the programmers of LabVIEW, who were loading into and unloading from the execution system, rather than memory. Quote Link to comment
eberaud Posted February 14, 2017 Author Report Share Posted February 14, 2017 Thanks for the explanation. Yes, bad terminology then... 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.