McBirne Geschrieben 13. September 2005 Geschrieben 13. September 2005 Ich habe einen COM – Server erstellt, welcher zwei void Methoden besitzt. Nun möchte ich die Methoden von einem C++ Programm aus aufrufen. Von Basic aus funktioniert es, allerdings weiß ich nicht, wie ich das in c++ machen kann. Kann mir da jemand helfen?
Klotzkopp Geschrieben 14. September 2005 Geschrieben 14. September 2005 Eine Möglichkeit ist, mit der #import-Direktive die Typbibliothek zu importieren und dann mit CoCreateInstance eine Instanz zu erzeugen. Die ATL bietet dazu ein paar schöne Hilfsklassen, wie z.B. Smartpointer.
McBirne Geschrieben 14. September 2005 Autor Geschrieben 14. September 2005 Du meins also: #import "comServer.h" Und dann? :confused: Kannst du vielleicht ein C++ Codebeispiel geben? Nennen wir einfach den ComServer comserver und die aufzurufende Methode einfach Methoder(long variable1, float Variabel2). Ein Codebeispiel wäre echt super.
Klotzkopp Geschrieben 14. September 2005 Geschrieben 14. September 2005 Du meins also: #import "comServer.h" Nein. Wenn du eine (generierte) Headerdatei hast, musst du die mit #include einbinden. Eine Typbibliothek (.tlb) bindest du mit #import ein. #include <windows.h> #include <atlbase.h> #import "comserver.tlb" // ODER #include "comserver.h" int main() { CoInitialize(0); { CComPtr<Icomserver> p; HRESULT hr = p.CoCreateInstance(__uuidof(comserver)); if(SUCCEEDED(hr)) { p->Methoder(1, 42.0); } } } [/code]
Guybrush Threepwood Geschrieben 14. September 2005 Geschrieben 14. September 2005 Guck mal hier EDIT: hmm zu spät
McBirne Geschrieben 14. September 2005 Autor Geschrieben 14. September 2005 Vielen Dank! Ich werde es direkt mal ausprobieren, aber denke, dass ich es mit den Beispielen hinbekomme
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden