Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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.

Geschrieben

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.

Geschrieben
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]

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...