LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

8.5 to 2012 converted but dll wont work

hello,

i converted some VIs from 8.5 xp to 2012 win 7, all these included calling same dll that will allow communication to a machine via ethernet and control or get some parameters etc. it was working in 8.5 xp, after i saved them in 2012 win 7 they cant seem to establish any communiation.

 

does the conversion process affect how the dll is called or the compiling process do something to dll?

 

 

0 Kudos
Message 1 of 4
(2,705 Views)

This is difficutl to troubleshoot remotely, but maybe the dll requires additional depdenencies installed elsewhere. Was the 8.5 version also running under Windows 7? Did you change the bitness of LabVIEW?

 

Who made the dll? Is it part of a driver distribution that needs to be installed?

 

Have you tried to analyze the dll with dependency walker?

0 Kudos
Message 2 of 4
(2,703 Views)

I don't like using things that have DLLs for this exact reason.  Change OS and everything likes to break.  If you know the protocol the DLL was doing, I would look into implementing it yourself in actual LabVIEW code.  TCP/IP is really simple.  You just have to know the protocol that the device needs.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 3 of 4
(2,689 Views)

this dll provides a wrapper for the CORBA interfaces that are part of the software that controls the machine i am trying to talk to using ethernet.
it allows applications to communicate with the machine using C style API.

 

http://www.thefreelibrary.com/Vertel+Announces+%60Project+eORB'+For+Next+Generation+Network+and...-a...
http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture

 

all it does is it initiates CORBA connection and sends commands to transmit and recieve data from the machine like get machine status, get voltage, get temperature, get parameters or set timing or a firing pattern etc, there are atleast 130 functions that it does.

 

while going through the documentation of it, it was build using microsoft visual studio 6.0 , C++, on win XP. also says

Each API function call has been tested using a C++ test harness program. Each API has been called for one set of parameter values and the Visual Studio Debugger used to examine many variables at various steps of the execution. These tests were conducted during development of the API

 

the source files used for building this dll includes files like (.h,.cpp,.idl)
config.h
streamingdatarecord.cpp
commandprocessorinterface.idl
IOsubsystemInterface.idl
StepperInterface.idl
TemperatureMangerInterface.idl etc

 

2 known limitations in the document says
1.use of this library requires e*ORB V2.3 CORBA libraries are installed and properly licensed. runtime-license is required which did intsall properly and many other softwares are running without problems.
2.any program that uses this dll may only be run in win XP/200/NT, this restriction comes from the e*orb libraries used by this dll

 

the main program written in 8.5 that calls this dll runs fine on XP laptop with LV 8.5 runtime engine is able to establish connection to the machine using IP address.
i have taken the same program and built an exe in 2012 xp machine, it fails to establish any communication to the machine. and even without exe just running it the program from LV Project explorer also fails.

also ported this 2012 version LV code to win 7, run as a program and exe, both fail to establish any communication.

 

my question here is
1. is it possible that LV2012 did something to dll while compiling ( which i think it should not as it is just calling a dll at runtime that resides on the computer)
2. is it possible to rebuild/recompile the dll if i can get the source files and at that time the VStudio will tell me what are the new components required for win 7 and i can find them and install ?
3.if above fails is there a way to create the exact functionality that this dll does in LabVIEW using the (.h,.cpp,.idl it is using to build that dll)

 

i ran the dependency walker on xp and win 7 (64 bit), the difference between the two results are as attached. also attached is the code that it makes those dll calls, simple program to establish the connection.

 

help..

Download All
0 Kudos
Message 4 of 4
(2,611 Views)