LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

dll build vi

I wish to create a LabView 7.1 dll with more than one LabView vi inside, but am doing something wrong somewhere.
I select the following:
Create dll, target dll, single file containing all VI's
Add exported VI, select the particular vi which is then listed as a source file.
Define the prototype by pressing the '+' button to get all the parameters listed.
Standard calling convention, then build.
When completed I use Test Stand (2) to call the dll and can see the function name, but get the message 'no type info in the dll'.
Can anyone help?
0 Kudos
Message 1 of 7
(3,639 Views)
Hi,
  LabVIEW will include the type library information if it's a simple data type. COmplex ones might not be able to be represented.
 
Try a simple vi, and see if that's working OK (one attached built with LV 7.1, and tested in TS 2.0.1f1).
 
If this works, then post your vi back here, and I'll have a look at it, and see where there might be a problem.
 
Thanks

Sacha Emery
National Instruments (UK)
// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 2 of 7
(3,612 Views)
Yes the simple dll you sent me works; my one attached has a sub vi in it and I will add some more sub vi's at some point so that my one dll has many functions. Unfortunately using my dll the parameters do not get shown using Test Stand; why is this?
0 Kudos
Message 3 of 7
(3,601 Views)
Hello Steve,

Can you attach the sub vi for EFA dll.vi? Also if you have a build script or a screen shot of the build that would be usefull too.

Regards

Jon Bowers
Applications Engineer
NIUK
0 Kudos
Message 4 of 7
(3,583 Views)
Enclosed is the sub vi. The main LabView vi has nothing on the front panel and just the sub vi on the block diagram.
 
 
0 Kudos
Message 5 of 7
(3,581 Views)

Hi Steve,

it's the booleans. We've made a data type of LVBoolean which essentially is a complex version of an int8, added to the fact you can only set this via pointers, so technically it's LVBoolean *.

Short answer is to change the vi to use int16's, and then convert internally. (i8's will show as chars, so use i16's)

Examples attached.

Thanks

Sacha.

// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 6 of 7
(3,570 Views)

Thanks for that, I realise now that 'LabView' booleans are no good for dll's.

However I found that sending an array of integers from Test Stand as either 0 or -1 will work with an array of Labview Booleans, how strange.

 

 

 

0 Kudos
Message 7 of 7
(3,558 Views)