LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

subvi randomly not working

Solved!
Go to solution

Is there another way to free the (in this case seemingly wrongly still) allocated memory from inside of LV? Or did you have to restart LV all the time?

 

Regards,

 

Pedro

0 Kudos
Message 21 of 26
(957 Views)

Pedro,

 

if messing up the DLL is the reason, you might want to include the DLL as this KB tells.

 

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 22 of 26
(952 Views)

Hi Norbert,

 

already tried that procedre yesterday, had an "unload" within the SubVi, where the DLL is called. so it would be loaded and directly after finishing its job (error in/out as dataflow to make sure it unloads at the right time) it would be unloaded. Did not work out.

 

Thanks for the input though.

 

Regards,

 

Pedro

0 Kudos
Message 23 of 26
(941 Views)

Pedro,

 

this approach only works if ALL CLFN are configured like this. Having at least one "static bound" CLFN in the application will not unload the DLL.....

 

Norbert

 

EDIT: My exclamation is true for a single DLL... so having a static bound CLFN to DLL A does not affect other CLFN bound to DLL B....

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Message 24 of 26
(937 Views)

I'll have a look into that later, maybe I did something wrong. Got some other stuff to do right now, but I'll keep you updated. Thanks for the input.

 

Regards,

 

Pedro

0 Kudos
Message 25 of 26
(935 Views)
Solution
Accepted by Pedro89

Last Update:

 

Hi to everyone who invested their time to try and help me,

 

I have solved the mysterious problem written of in this thread. The wrapper-writer included a logging version in the dll and while looking into this log: LabView memory fragments are transported to my device through the DLL.

The Output Buffer is 64 Bytes long and I always only wrote an array smaller than this, resulting in LabView randomly adding data. Sometimes it worked, sometimes it didn't.

 

Now I pass over an array the right size, filled with my data and fixed zeros in the rest part of the array and damn yeah, it's working.

 

Thanks to all of you for your help anyway. Kudos to y'all.

 

Regards,

 

Pedro

0 Kudos
Message 26 of 26
(917 Views)