COM in Xbase?
Moderator: Moderatoren
COM in Xbase?
Hallo
Ich habe für eine Hardwarekomponente ein SDK bekommen, was eigentlich für C++ entwickelt ist. Darin ist erläutert wie der Zugriff über die COM Schnittstelle funktionieren soll.
Kann XBase++ auch mit COM umgehen, da ActiveX – Komponenten, laut Wikipedia nur eine Erweiterung des COM (Component Object Model-Standards) sind?
Grüße Rolf
Ich habe für eine Hardwarekomponente ein SDK bekommen, was eigentlich für C++ entwickelt ist. Darin ist erläutert wie der Zugriff über die COM Schnittstelle funktionieren soll.
Kann XBase++ auch mit COM umgehen, da ActiveX – Komponenten, laut Wikipedia nur eine Erweiterung des COM (Component Object Model-Standards) sind?
Grüße Rolf
-
- Rekursionen-Architekt
- Beiträge: 315
- Registriert: Mo, 16. Okt 2006 13:04
- Wohnort: Region Stuttgart
Hallo Rolf,
wenn die Hersteller-Dokumentation als Hostsprache auch Visual Basic oder VBScript erwähnt oder das Stichwort "Dispatch-Interface" auftaucht, wirst du davon ausgehen können, dass es mit Xbase++ ebenso funktionieren müsste.
ActiveX-Komponenten erlauben den Zugriff auf Methoden und Properties über ihnen Namen. Damit kann Xbase++ bequem umgehen, mit dem von COM allgemein definierten Low-Level-Verfahren (Funktionsaufruf über Adresszeiger) nicht ohne gewisse Klimmzüge.
Viele Grüße,
Günter
wenn die Hersteller-Dokumentation als Hostsprache auch Visual Basic oder VBScript erwähnt oder das Stichwort "Dispatch-Interface" auftaucht, wirst du davon ausgehen können, dass es mit Xbase++ ebenso funktionieren müsste.
ActiveX-Komponenten erlauben den Zugriff auf Methoden und Properties über ihnen Namen. Damit kann Xbase++ bequem umgehen, mit dem von COM allgemein definierten Low-Level-Verfahren (Funktionsaufruf über Adresszeiger) nicht ohne gewisse Klimmzüge.
Viele Grüße,
Günter
Danke für die Antworten
Ich bin noch etwas überfordert. Hab jetzt erst mal die VB-Beispielanwendung zum laufen bekommen. Wenn ich mir die aber anschaue weiß ich erst mal gar nicht wo ich anfangen soll.
Bei Dll's ist es da einfacher und überschaubar. Dll einbinden und entsprechende Funktion mit dem richtigen Parameter aufrufen. Aber wie geht man bei COM vor? Was muss dort eingebunden werden?
@Andreas
Wieso genau braucht man die XBToolsIII für COM?
Grüße Rolf
Ich bin noch etwas überfordert. Hab jetzt erst mal die VB-Beispielanwendung zum laufen bekommen. Wenn ich mir die aber anschaue weiß ich erst mal gar nicht wo ich anfangen soll.
Bei Dll's ist es da einfacher und überschaubar. Dll einbinden und entsprechende Funktion mit dem richtigen Parameter aufrufen. Aber wie geht man bei COM vor? Was muss dort eingebunden werden?
@Andreas
Wieso genau braucht man die XBToolsIII für COM?
Grüße Rolf
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
http://www.devcomponents.com/comassistant/
gruss by OHR
Jimmy
schon mal mit COM Assistant versucht ?Rolf hat geschrieben: Aber wie geht man bei COM vor? Was muss dort eingebunden werden?
http://www.devcomponents.com/comassistant/
Com1: <> COM ...Rolf hat geschrieben: @Andreas
Wieso genau braucht man die XBToolsIII für COM?
gruss by OHR
Jimmy
Hallo Jimmy
Das SDK ist schon gut dokumentiert, daran scheitert es bei mir nicht sondern wie geht es jetzt weiter.
Ich habe eine DLL, eine Lib und eine Reihe von Objekten mit Funktionen. Ich kenne auch das Root-Objekt.
Aber ich weiß nicht ob ich nur die *.Lib oder auch die *.Dll benötige.
Und ich weiß nicht wie ich diese einbinden soll.
Das Beispiel mit CreateObject() habe ich ein bisschen auf das SDK abgewandelt bringt dann aber nur den Fehler "ung|ltige Klassenzeichenfolge" zurück.
Welches ActiveX-Objekt muss ich den nehmen?
Oder welches Xbase-Beispiel könnte für mein Problem passen?
Das ist alles noch neues unerforschtes Land für mich.
Vielen Dank
Rolf
Das SDK ist schon gut dokumentiert, daran scheitert es bei mir nicht sondern wie geht es jetzt weiter.
Ich habe eine DLL, eine Lib und eine Reihe von Objekten mit Funktionen. Ich kenne auch das Root-Objekt.
Aber ich weiß nicht ob ich nur die *.Lib oder auch die *.Dll benötige.
Und ich weiß nicht wie ich diese einbinden soll.
Das Beispiel mit CreateObject() habe ich ein bisschen auf das SDK abgewandelt bringt dann aber nur den Fehler "ung|ltige Klassenzeichenfolge" zurück.
Welches ActiveX-Objekt muss ich den nehmen?
Oder welches Xbase-Beispiel könnte für mein Problem passen?
Das ist alles noch neues unerforschtes Land für mich.
Vielen Dank
Rolf
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Hallo, Rolf.
Die LIB wirst Du nur brauchen, wenn Du das in ein C++-Projekt einbindest. Bei Xbase++ wirst Du die Funktionen aus der DLL z.B. mit DLLFUNCTION wrappen müssen. Vermutlich werden dann auch keine Objekte erzeugt, sondern lediglich Pointer übermittelt. Ob, wie und warum genau, sollte die Doku des SDK eigentlich hergeben. Um welches Produkt geht es genau?
Die LIB wirst Du nur brauchen, wenn Du das in ein C++-Projekt einbindest. Bei Xbase++ wirst Du die Funktionen aus der DLL z.B. mit DLLFUNCTION wrappen müssen. Vermutlich werden dann auch keine Objekte erzeugt, sondern lediglich Pointer übermittelt. Ob, wie und warum genau, sollte die Doku des SDK eigentlich hergeben. Um welches Produkt geht es genau?
Herzlich,
Tom
Tom
Hallo
Die Probleme mit CreateObject() lagen doch an einem Schreibfehler.
Nun klappt das alles.
Ich scheine es auch langsam zu verstehen. Nachdem ich das SDK installiert hatte, gab es irgendeine Verknüpfung in der Registry. Deshalb muss man die DLL und LIB im Programm gar nicht einfügen, sondern nur in CreateObject() die richtige cProgID angeben. Damit hat man dann erstmal das Root-Objekt und kann von diesem die weiteren Objekte und Funktionen aufrufen.
@Tom
Es geht um den Konnektor für die Gesundheitsreform (wikipedia) Mehr kann man da eigentlich nicht sagen, da es Vertraglich auch in den meisten Fällen nicht erlaubt ist.
Vielen Dank für eure Hilfe
Grüße Rolf
Die Probleme mit CreateObject() lagen doch an einem Schreibfehler.
Nun klappt das alles.
Ich scheine es auch langsam zu verstehen. Nachdem ich das SDK installiert hatte, gab es irgendeine Verknüpfung in der Registry. Deshalb muss man die DLL und LIB im Programm gar nicht einfügen, sondern nur in CreateObject() die richtige cProgID angeben. Damit hat man dann erstmal das Root-Objekt und kann von diesem die weiteren Objekte und Funktionen aufrufen.
@Tom
Es geht um den Konnektor für die Gesundheitsreform (wikipedia) Mehr kann man da eigentlich nicht sagen, da es Vertraglich auch in den meisten Fällen nicht erlaubt ist.
Vielen Dank für eure Hilfe
Grüße Rolf