LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Secondary dll not refreshing

Hi, I am using Labview 2009 for my application. The applciation calls a dll developed in vc++(main dll). While executing the application the main dll(vc++) calls another dll(secondary dll) developed in vb 6.0. During the process, the main dll sends datas to secondary dll to display the datas in a popup window. After getting user acknowledge from the display, the application vi stops.

 

When the application is running first time(running the vi first time after open labview), the datas sent by the main dll are updated in the display of secondary dll. But, from the second time onwards the new datas from the main dll are not updated in the display of secondary dll. Again, after closing vi and quitting labview, if i open and run the vi, then the datas from the main dll are updated in the display of secodary dll.

 

My application needs the data of the maindll needs to be updated in secondary dll without quitting labview everytime. I am using 'Call Library function' to call the maindll. Can anyone please give the remody for this problem.. Thanks in advance. Swamy.

0 Kudos
Message 1 of 2
(2,192 Views)

Hi

 

I think your problem is to do with the way that DLL is handled in Windows (not sure about other OS).
DLLs are loaded when they are used for the first time and remain in memory until the program exits. When you call the DLL from the LabVIEW development environment the same thing happens. The DLL is loaded only on the first call and will not be unloaded until LabVIEW exits. This applies to all languages and it is unfortunately normal.

 

When the program is run outside of LabVIEW as an executable, the behaviour is likely to be slightly different.
In this case, I would expect the DLL to be unloaded each time the program exits.

Sorry I can not really help more than this, it is just the way it is.

Mark

 

 

 

0 Kudos
Message 2 of 2
(2,183 Views)