09-23-2009 11:35 PM
Hi,
I'd like to upgrade a VI which calls a CIN from LV 7.1 to LV 8.5 or 9.0, but I have no access to the CIN code (the .lsb file) anymore. That .lsb was not one of the .lsb which came with LV but written by some third party.
The only chance I see write now is to compile the CIN-using VI into a DLL with LV 7.1 and then use this DLL in the newer LV versions. I wonder if there is simpler way to do it, maybe by extracting the LSB code from the LV7.1 VI? (OTOH the CIN support seems to be discontinued in LV 2009, so that would probably not make much sense...)
11-02-2009 01:30 AM - edited 11-02-2009 01:31 AM
ahlers01 wrote:Hi,
I'd like to upgrade a VI which calls a CIN from LV 7.1 to LV 8.5 or 9.0, but I have no access to the CIN code (the .lsb file) anymore. That .lsb was not one of the .lsb which came with LV but written by some third party.
The only chance I see write now is to compile the CIN-using VI into a DLL with LV 7.1 and then use this DLL in the newer LV versions. I wonder if there is simpler way to do it, maybe by extracting the LSB code from the LV7.1 VI? (OTOH the CIN support seems to be discontinued in LV 2009, so that would probably not make much sense...)
Well, as long as you do not change the platform the CIN resource should simply be forward portable by LabVIEW itself (Platform means here OS AND CPU bitness). Of course if what you say is true and LabVIEW 2009 does not support CINs at all anymore then this can't work.
An LSB is a compiled object file prepared into a special form by the lsbutil tool. But the basic fact of compiled object code remains. So the only way to get back at what this CIN does is to extract the binary object file image from the LSB, something not exactly obvious but doable, and then disassemble that object file into assembly code and translate that back into C code.
However this is considered illegal in many jurisdications including the US, when you do not hold the copyright on the original code. DMCA anyone?