LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

error message: "There was not enough memory to compile the file" ???

Hi,

I implemented two large labview applications. If I open one of this, everything works. But if I open both of them an error message appears: "There was not enough memory to compile the file". Can I allocate memory specially for labview? I use windows 2000 with 512 MB RM.
What can I do?

elli
0 Kudos
Message 1 of 6
(3,144 Views)
Are you sharing resources between both vi's, such as subvi's, global variables, etc? Are you using reentrant vi's?
BJD1613

Lead Test Tools Development Engineer

Philips Respironics

Certified LV Architect / Instructor
Message 2 of 6
(3,144 Views)
Yes, I share a subvi for both of the vi's. Isn't it possible?
0 Kudos
Message 3 of 6
(3,144 Views)
yes it is possible. What is that subvi doing? Is it in a loop? Are you using that subvi to share data between each vi or are you running each vi as independent processes. If they are independent processes I would try and make that subvi a reentrant subvi. WHat this means is that it will run another instance and not share the same memory space as the subvi in vi A. If they are not treated as independent processes the answer to my first question can help us figure out another solution. Hope this helps.
BJD1613

Lead Test Tools Development Engineer

Philips Respironics

Certified LV Architect / Instructor
0 Kudos
Message 4 of 6
(3,144 Views)
Thanks for your help!
The processes are independent and it works fine if I use reentrant subvi's. But also I work with global variables, which I share / which have the same names. Is this also possible?
0 Kudos
Message 5 of 6
(3,144 Views)
All loaded objects (VIs, globals, typedefs) are identified only by the name regardless of the location which they reside on disk. If you have app1\myvi.vi and app2\myvi.vi as subVI of the two processes and you will load app1\myvi.vi first and then you will load app2 then app1\myvi.vi will become the subVI in app2 instead of app2\myvi.vi.
It is a good architecture to name the VIs unique in each application by prefixing or subfixing the names and use a subfolder like common to place all VIs which will be used by both applications.

If such a common subVI is located in different places and is not identical then LV needs to recompile the calling VIs when they are loaded.

Waldemar
Waldemar

Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
Don't forget to give Kudos to good answers and/or questions
0 Kudos
Message 6 of 6
(3,144 Views)