LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

dll hell version prbblem for a COM dll developed in VC++

Hello

 

We have developed a COM dll in VC++ ATL. We have developed a client application in labview using Ver1.0 of our dll. And now we have changed our dll to Ver2.0 .So now when we register ver2.0 dll, the first client application which is using ver1.0 is not working. Is this because of the dll hell versioning problem. Is there any other way we can do in labview so that we can avoid this dll hell versioning problem. Please let me know.

 

Thanks in Advance.

0 Kudos
Message 1 of 6
(2,518 Views)

Hello,

 

Do you find both objects with different version number when you select ActiveX class for the Automation Open VI?

They must be there and you should choose the appropriate one. If you did and it does not work... then I give up.

0 Kudos
Message 2 of 6
(2,514 Views)
No I didn't find that. I thought i will get an option like that. But I couldn't .Can you tell me what will be the problem?
0 Kudos
Message 3 of 6
(2,509 Views)

I supposed your dll is a COM server registered it into the Windows registry.

In that case you need a reference to call its functions. Place an Automation Open VI, connect an automation refnum constant to the input, right click on it, select ActiveX class Browse... there you should find your objects, the COM servers.

The Automation Open's output reference can be used to the Invoke Node VIs, to call dll methods.

 

 

 

0 Kudos
Message 4 of 6
(2,503 Views)
I am using Automation open and Invoke methods only to call the functions of the com dlls. But when i am selecting Activex class for Automation open reference for the ver1 dll still it is giving error for the method which has been modified in the ver2.0 which should not.It should actually point to the old version method.
0 Kudos
Message 5 of 6
(2,501 Views)

If I remember well, the different versions are different objects in the list, the system disticts the COM versions.

It might happen that Labview does not released the previous dll... In past I had to quit LabView all the time when I recompile/register the COM dll.

0 Kudos
Message 6 of 6
(2,492 Views)