03-02-2012 11:06 AM
Hello:
I have store bought (no source) VI that uses a code interface node that works fine with LV 7.1 upgrading to 2010 does not allow a code interface node. I read that I can use a call library function instead. How would I convert my code interface node to a call library function ?
Thank you!
03-02-2012 01:16 PM
Without the CIN code, unfortunately, I think you're out of luck. If you need a quick solution and you have LabVIEW 7.1 available, you could build a DLL in 7.1 that wraps the CIN functions, and then call that DLL from within your LabVIEW 2010 code.
03-05-2012 03:51 PM
Hello:
So how would I do this? I can generate the template and know the parameters for the CIN
#include "extcode.h"
CIN MgErr CINRun(int32 *num_in, int32 *num_out);
CIN MgErr CINRun(int32 *num_in, int32 *num_out) {
/* ENTER YOUR CODE HERE */
return noErr;
}
The VI contains some Labview constructs feeding a CIN which I guess get replace by a library call once the DLL is built.
What next? Seperate the CIN to it own VI and build the DLL from this?
Thanks for the help
03-05-2012 03:56 PM
Essentially, yes. You'd need to create individual exported functions for each VI that uses the CIN. Basically that means identifying the VIs that use the CIN and adding those to the list of exported functions in the DLL build spec. You may need to add other VIs to the list of dynamic VIs to ensure they get included into the LabVIEW DLL. In LV 2010 you'd be calling the LabVIEW DLL.
03-07-2012 04:06 PM
Hello:
Can't build the dll in LV7.1. I can build the dll in LV8.2 is this ok?
Thank you!
03-07-2012 04:06 PM
Sure - doesn't matter which version you use to build the DLL so long as it can successfully run your CIN.
03-07-2012 04:50 PM
I should also add that if you plan to deploy this on another system, you'll need to install the run-time engine for the version you use to build the DLL, in addition to the version needed to run your program. Install the older version of the run-time engine first; things don't always work right if you install the older version over the newer one.