From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Automation open and early bindings

Hi,

 

I've seen several forums where people mentions that LV access activeX controls and servers using late bindigns, however, in many programming languages such as VBA, python, etc, it is possible to connect to ActiveX servers using early bindings. I would like to know if LV can do this using something like the instruction makepy in python. There is a procedure in LabVIEW to do early bindings or static dispatch when accessing an ActiveX Server/control?

 

Best regards

 

Davis

Davis Montenegro
0 Kudos
Message 1 of 5
(3,473 Views)

Hi Davis

 

Correct actually I was looking for some white papers, documents or forums related with that and I found different links that I am going to attach and you can see below.

 

http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/activating_lv_activex_srv/

http://www.ni.com/white-paper/2983/en/

http://digital.ni.com/public.nsf/allkb/85C2A1BE2B3AC3C18625754B006C23F1

https://decibel.ni.com/content/docs/DOC-9647

 

I hope this information will be useful for you

 

Regards

0 Kudos
Message 2 of 5
(3,401 Views)

Hi David,

 

Thanks for the link, however, I think I've read them already. There was a clue about doing early bindings in LabVIEW when working with COM servers, somebody proposed to build an OCX control instead of an automation server, but it didn't worked. It looks like the only way to work with early bindings is to use direct connection methods (call library function) instead of COM interfaces. This is weird because some other products of NI allow to work with this functionality (Teststand), however, nobody has an answer for LV (until now).

 

Again thanks

 

Best regards

Davis Montenegro
0 Kudos
Message 3 of 5
(3,389 Views)

Not really sure what you mean with static dispatch but what is the reason that late bindings doesn't work for you? Maybe if we understand your problem better we could come up with a solutions that might work anyways.

 

There are not many things that can't be done without static objects (maybe you want some singleton?) but many that can't be done without dynamic object instantiation.

Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 5
(3,380 Views)

Hi,

 

We have implemented a COM interface for a DLL using delphi. We are able to connect this DLL using the mentioned interface and "early bindings" using programming languages such as VBA, python, among others. With this DLL it is possbile to perform some iterative procedures commanded from the external language, the problem is that when using "late bindings" these iterative procedures add a cumulative overhead (sometimes 20 times slower than with early bindings).

So, as a result the connection mode to the COM interface is critical for us.

"Static dispatch" is how the programmers of python describe the procedure performed when executing "makepy" for accessing COM interfaces using "early bindings" (http://timgolden.me.uk/python/win32_how_do_i/generate-a-static-com-proxy.html).

 

I hope you can give us some light about it.

 

Best regards

 

Davis Montenegro
0 Kudos
Message 5 of 5
(3,369 Views)