04-29-2022 08:27 AM - edited 04-29-2022 08:28 AM
If your interested, try running the attached example. Using this Express VI loads a clone of the Express VI into memory, but it is given the name of the caller VI. Very odd.
04-29-2022 08:52 AM
FWIW, here's my result with LV 2020 64-bit. Mostly seems more "expected" than what you described, though unsure about the "Instance0" of the non-reentrant top-level vi...
-Kevin P
04-29-2022 09:00 AM
Thanks for confirming this behavior in LV2020.
But I'd like to point out: That "Instance0 of the non-reentrant top-level vi" is actually not an instance of the top-level VI. It is an instance of the Express VI.
To me, I find this odd. Though not a concern, now that I know that it is not actually an instance of my top-level VI. My concern was that the top-level VI of my QMH application is very large and consumes excess amount of memory (I didn't code it!), and I don't want lots of instances of it in memory. And the results of "All VIs in Memory" seemed to indicated this was hapenning. But now I know its just an odd effect of using this Express VI.
04-29-2022 09:52 AM
Had it been a subVI i'd assume it was set to Preallocate clones and was used in mutliple locations, but since it's the Main that's strange to say the least. I take it's not used recursively?
04-29-2022 10:53 AM
Ah, for express VI's that might be normal.
Express VIs create an inlined VI that is used during execution, and I do recall those inlined VIs get the name of the caller...
04-29-2022 11:06 AM
Let's call this the solution.
Even though if I create my own subVI and make it re-entrant and inlined, it still doesn't give it the name of the caller (when getting a list of All VIs in Memory).
05-02-2022 03:51 AM - edited 05-02-2022 03:52 AM
Express VIs are 'special'. 🙄
An express VI not only has inlined code, but also stubs to facilitate the user interaction. They are probably more like XNodes than inlined VIs.
So express VIs uses inlining as one peace of it's (incomprehensible) puzzle. But an inlined VI isn't an express VI.
Apparently express VIs use an additional layering (making them even more incomprehensible).