03-17-2006 05:00 AM
03-17-2006 06:32 AM
03-17-2006 11:09 AM
A DWORD should be equivalent to a I32 in Labview. A BYTE is a U8. You do not need a cluster. Create a Call Library Node and configure the parameters as follows:
For the DWORD, the parameter definitions are: Type=Numeric, Data Type=Signed 32-bit Integer, Pass=Pointer To Value (if you expect a return value, otherwise set to Value)
For the BYTE: Type=Numeric, Data Type=Unsigned 8-bit Integer, Pass=Pointer To Value or Value (return or no return)
For the Array of Bytes: Type=Array, Data Type=Unsigned 8-bit Integer, Dimensions=1, Array Format=Array Data Pointer.
If you get a crash, try changing the calling convention. There are 2 choices, C and WINAPI. Even though it is a C DLL, depending on how it is written, the calling convention may have to be WINAPI. I found this out the hard way, the wrong choice causes a crash.
If you have to use a cluster and your cluster does not contain strings and the byte array size is fixed, you could bundle all the elements into a cluster (be sure to use I32, U8, array of U8), and pass into the Call Library Node and set the parameter for Adapt To Type.
03-18-2006 01:28 PM
I must have missed the "D".
@tbob wrote:
A DWORD should be equivalent to a I32 in Labview.
03-20-2006 10:16 AM
03-20-2006 10:42 AM