10-04-2006 03:26 AM
10-04-2006 03:51 AM
10-04-2006 02:43 PM
Reentrant VIs and VITs are not the same. A reentrant VI a VI which has a seperate memory space allocated for each call that's made for it (i.e. if you call it in 5 different places in your code, the compiler will allocate 5 seperate memory spaces in advance for it). With a VIT, a full copy of the VI is made in memory when it is called (with a seperate front panel and everything and you can even save it). Doing this only when the VI is called takes a lot more time.
As for why it's not working - it should probably work if you make all the VIs reentrant and if you make sure you have 8 (prepare for reentrant exec) wired into the options input of the Open VI Reference function. Also, make sure that the VIs are completely dependent on their inputs.
10-05-2006 11:59 PM
10-06-2006 12:32 AM
10-06-2006 12:44 AM
Hi TonP,
Having just reinstalled my OS, LabVIEW (7.1) isn't installed yet, so I can't test this. Assuming it works, thanks for the solution!
Cheers.
01-20-2007 02:27 AM - edited 01-20-2007 02:27 AM
Hey TonP,
(If you're still around (?) ) What version of LabVIEW is your example from? I'm using 7.1 and it refuses to allow a recursive Static reference!
Is there a trick?
Cheers.
Message Edited by tbd on 01-20-2007 02:43 AM
01-20-2007 02:55 AM
01-20-2007 07:06 AM - edited 01-20-2007 07:06 AM
Message Edited by TonP on 01-20-2007 02:15 PM
01-20-2007 12:42 PM - edited 01-20-2007 12:42 PM
Hi Ton,
Huge THANKS! - have recursion working under 7.1 now! Awsome!
I DID notice your instructions re option=8, but thought I knew what I was doing
... and used the IsReentrant property
Have realized that this doesn't work for recursive-call:
But this does!(?)
Will probably use the Open option=8 to avoid confusion!
Thanks again!
Message Edited by tbd on 01-20-2007 12:46 PM