LabVIEWForum.de
Zugriff auf COM Objekt von einem "EXE Server" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: ActiveX & .Net (/Forum-ActiveX-Net)
+---- Thema: Zugriff auf COM Objekt von einem "EXE Server" (/Thread-Zugriff-auf-COM-Objekt-von-einem-EXE-Server)



Zugriff auf COM Objekt von einem "EXE Server" - astraios - 24.09.2007 11:42

Hallo,

ich muss eine Anwendung über COM fernsteuern. Das hab ich mit Excel & Co. schon öfters über die ActiveX Funktionen von LabVIEW gemacht. Das Programm, das ich nun fernsteuern will, stellt anscheinend kein ActiveX- sondern ein COM Objekt zur Verfügung (Gibts da nen Unterschied?). ProgID="MyProg.Application".

Mein Problem: Wenn ich jetzt die zu verwendende ActiveX Klasse auswählen will, find ich die die ich brauche nicht.
Ich hab mal mit dem Tool "COM Explorer 2.0" geschaut, ob alles registriert ist und das Tool zeigt drei verschiedene Arten von Objekten/Klassen/was auch immer an:

[attachment=8805]

Den Eintrag von dem Programm, das ich benötige finde ich unter dem Reiter "EXE Servers".

Für Tipps wäre ich sehr dankbar! Help


Vielen Dank im Voraus!


Zugriff auf COM Objekt von einem "EXE Server" - rolfk - 26.09.2007 07:14

' schrieb:Hallo,

ich muss eine Anwendung über COM fernsteuern. Das hab ich mit Excel & Co. schon öfters über die ActiveX Funktionen von LabVIEW gemacht. Das Programm, das ich nun fernsteuern will, stellt anscheinend kein ActiveX- sondern ein COM Objekt zur Verfügung (Gibts da nen Unterschied?). ProgID="MyProg.Application".

Mein Problem: Wenn ich jetzt die zu verwendende ActiveX Klasse auswählen will, find ich die die ich brauche nicht.
Ich hab mal mit dem Tool "COM Explorer 2.0" geschaut, ob alles registriert ist und das Tool zeigt drei verschiedene Arten von Objekten/Klassen/was auch immer an:

[attachment=35665:COMExpl.JPG]

Den Eintrag von dem Programm, das ich benötige finde ich unter dem Reiter "EXE Servers".

Für Tipps wäre ich sehr dankbar! Help
Vielen Dank im Voraus!

Ja COM/DCOM ist die Technologie auf der ActiveX aufbaut und beschreibt die Objektstruktur und Referenzzählung sowie im Falle von DCOM die Serialisering der Daten über einen Netzwerkstrom.
ActiveX ist zu einem grossen Teil ganz einfach (D)COM aber eben auch mehr als das. Vor allem die Registrierung der Objektserver und Interfaces ist in ActiveX formalisiert so dass eben andere Applikationen einfach generieke Interfaces zu ActiveX Objekten zur Verfügung stellen können.

And sich ist es nicht so viel Arbeit um von einem korrekten COM Server einen ActiveX Server zu machen aber es ist eben etwas das muss getan werden durch die Entwickler (und manchmal nicht zu vernachlässigen: bei ActiveX publiziert man quasi das ganze Objektinterface öffentlich! Manche sicherheitsgefühligen Anwendungen versuchen Sicherheit dadurch zu erreichen, indem die Entwickler "Security through Obscurity" anwenden und dann kann ein ActiveX Interface zuviel der internen Struktur offenlegen.)

Rolf Kalbermatter