08-19-2010 11:35 AM
I am working on a VI, for controlling a furnace, that is called by another VI. When an experiment is done running in the furnace, the data is saved and the furnace control VI is supposed to close. Now, when I go back to tweak the furnace control code (and the caller is still running), I receive a popup message saying that the VI is still in memory and I can only view the VI. I've read some threads stating that if the caller is still running, then the callee will still be in memory. Well, I believe I've been able to avoid this issue so far, and that is why this is surprising to me that it turns up now. It doesn't affect my actual experimentation process (that I know of), but it makes my coding and troubleshooting more of a hassle since I have to shut down LabVIEW to wipe the memory. I do have a subVI that handles my opening and closing of the furnace control VI, and this is the only place I think I would have issues. thanks for the help
08-19-2010 11:58 AM
please let me know in close VI function, are you closing the front panel of the furnace control subVI or you just closing the VI reference?
08-19-2010 12:09 PM
well, i want to close the furnace control VI altogether. so, i guess that means closing the FP and the reference. once it is closed, I won't be calling it again. i may manually open it to work on the code, but it won't be needed again in the execution of the main, calling VI
08-19-2010 12:17 PM
make "wait until done" to false and close the VI reference on the same VI itself.
i think this reslove the isssue
08-19-2010 12:34 PM
When you create a refnum to a VI, LabVIEW loads the VI into memory. The VI stays in memory until you close the refnum and until the VI meets the following conditions:
08-19-2010 04:40 PM
I failed to mention this earlier, but the furnace control VI is reentrant. I have similar code(using FP.Open property node and the RunVI invoke node), but it is used with non-reentrant VIs. Would reentrancy affect the ability to close the VI reference?