LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to connect to a COM application?

I am having some trouble talking to a COM application via LabVIEW. I use the "Automation Open" function to browse to the COM application file (.exe). When I run the VI, I get this error message; " Error 3005 occurred at Automation Open: Object specified is not creatable." 

I am using labview 2014 evaluation version. I would appreciate any help in this.

0 Kudos
Message 1 of 5
(3,039 Views)
Yes, when you select the object to create you can only use ones that are creatable.

What you you mean you use the automation open function to browse to the exe?

You should start with an automation reference and use it to browse to the desired object. In that dialog there is a check box for showing just the objects that are creatable.

Once you have that, you can open it.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 5
(3,001 Views)
Have you done any of the tutorials?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 3 of 5
(2,988 Views)

Thanks Mike for the reply. I guess the object I am trying to select is not creatable because it appears in the list only when I uncheck the checkbox. This is how I have been connecting to COM libraries, but I am not sure if this is the right way to connecto to COM applications.  For COM applications, I think I should be looking for GetObject instead of CreatObject. Do you have any experience in talking to COM application GetObjects?

0 Kudos
Message 4 of 5
(2,961 Views)

Are you talking about an application with a COM interface only or one with an ActiveX interface? ActiveX is build on COM but not the same as it defines several extra aspects of an object server such as a proper typelibrary and automation object factory.

 

If it is indeed an ActiveX application then it should contain an ActiveX typelibrary that will tell LabVIEW what is available and how to instantiate the objects and how to access the properties and invoke the methods for each object class. Alternatively the applicaton may use a seperate typelibrary file for whatever reason. In that case you should point the LabVIEW browser to that type library instead of the executable itself.

 

Anothere possibility is that the Automation interface of the application makes use of datatypes that LabVIEW does not support. For instance LabVIEW does not support Generics, so any object that uses generics for instantiation will simply be not available in LabVIEW.

 

Maybe you cn provide some more information to the application you try to interface to, and also about the type of objects you try to create.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 5 of 5
(2,950 Views)