LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Any known problem when calling DLL functions that are upgraded to a different version?

My LabView program calls DLL functions that need to be upgraded to a different version every six months. When DLL has to be upgraded, I need to redefine the ActiveX server refernce, which is expected. Even thiough DLL functions are backward compatible, I still have to either recreate the calling interfaces or, after redefine the ActiveX refernce, I have to respecify all methods and properties and sometimes break wiring and rewire them to make program works.
Otherwise I get Null refernce or system errors. Someone told me that DLL's should be compiled with PIC(position-Independent-code) flag turned on. I need to know if this is why I always have problems when DLL's upgraded. Can anyone
tell me what PIC means and how to turn it on? Thanks.
0 Kudos
Message 1 of 2
(2,267 Views)
LegalEngineer,

Position Independent Code is object code that can execute at different locations in memory. It is an option to select when compiling the code, and the method of doing this is dependent on the environment you are writing the code in. However, compiling a DLL in this format will not prevent you from having to delete and rewire your connections. Because LabVIEW looks at more than just the file name when accessing a DLL, the connections have to be remade when the DLL is upgraded.

-JohnM
0 Kudos
Message 2 of 2
(2,267 Views)