Karthik888 Posted December 3, 2010 Report Share Posted December 3, 2010 Hi Folks, I have created one DLL through labVIEW long back, now i want to know from which version of Labview it is created......Is it possible to identify????? Quote Link to comment
asbo Posted December 3, 2010 Report Share Posted December 3, 2010 If you crack it open in a hex editor (or even Notepad ), it may have a reference to a particular version of the run-time engine. I don't have a DLL lying around, so I can't confirm this. Quote Link to comment
jdunham Posted December 3, 2010 Report Share Posted December 3, 2010 I have created one DLL through labVIEW long back, now i want to know from which version of Labview it is created......Is it possible to identify????? If you try to invoke it on a reasonably clean computer, I'd imagine you would get a dialog box saying "This DLL requires the LabVIEW x.x Run-Time Engine." or some such thing. Jason Quote Link to comment
hooovahh Posted December 3, 2010 Report Share Posted December 3, 2010 Okay I have a solution, but before I give it let me say this is one of those things I hate about LabVIEW. If I build an EXE or DLL I don't know what version of LabVIEW it was built with. If you build an EXE it will say you need runtime engine X if it is not installed but if you have 4 installed and it works, how do you know which one it is? Asbo was close. Download a Sysinternals application called ListDLLS. It says what DLLs are in memory and the version of them. This will tell you the version of your own DLL that is loaded in memory, but more importantly it will tell you the version of the lvrt.dll that is loaded into memory, which tells you which run time engine it uses to run your DLL. I tested it with an EXE and it works fine. I made a hello world program, then ran Listdlls.exe > Dlls.txt Then opened Dlls.txt and searched for the name of my EXE, it listed all Dlls it was using, and the version. For me it was 7.01.0001.4000 (LabVIEW 7.1). Not sure what will happen if the required runtime engine isn't installed, I don't deal with LabVIEW DLLs very often. I tried opening the file in a hex editor to see if I could find the version of LabVIEW it used, but I wasn't sure if I was looking at the right version, or just a random number that happened to be 7.1. Hope this helps. Quote Link to comment
ShaunR Posted December 3, 2010 Report Share Posted December 3, 2010 I've never found an easy way to do do this programmatically within LV. I use one of two techniques. 1. Create a function in the DLL called Get_Ver which will return the the dll version and LV version used (I don't use this much any more) 2. When you build the dll, put the LV version in the description section. It won't help you for the current DLL. But you shouldn't have a problem in the future. Quote Link to comment
asbo Posted December 3, 2010 Report Share Posted December 3, 2010 I tried opening the file in a hex editor to see if I could find the version of LabVIEW it used, but I wasn't sure if I was looking at the right version, or just a random number that happened to be 7.1. Hope this helps. Were you looking for ASCII digits? It's entirely possible that it'd be stored in some binary format. Quote Link to comment
hooovahh Posted December 6, 2010 Report Share Posted December 6, 2010 Were you looking for ASCII digits? It's entirely possible that it'd be stored in some binary format. Yeah I was looking at ASCII. The data has to be in there somewhere, I just didn't invest much time trying to find it. Quote Link to comment
Rolf Kalbermatter Posted December 15, 2010 Report Share Posted December 15, 2010 Yeah I was looking at ASCII. The data has to be in there somewhere, I just didn't invest much time trying to find it. LabVIEW uses for many version specific things a 4 byte integer which encodes the version in nibbles. And newer LabVIEW versions compress almost everything in the VI to safe space and load time, but this also makes any internal information very hard to read. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.