Zugriff von C++ DLL auf Methode in VB ActiveX-Exe

meta_grafix

Erfahrenes Mitglied
Hallo,

kann mir ein Fachmann zeigen/erläutern wie ich aus einer C++ DLL auf eine öffentliche Methode in einer VB ActiveX-Exe zugreifen kann?

Danke und schönes Wochenende
 
So,

alles halb so wild. Die Lösung ja so nah. Die ActiveX-Exe einfach wie ActiveX-DLL behandeln. In C++ einfach, wie gewohnt, als neue Typelibrary einbinden und mit 'CreateDispatch' aufrufen. Manchmal ist man wie vernagelt.

Gruß

[Edit]
Verschieben nach -> VisualStudio/MFC
 
Zuletzt bearbeitet:
So,

noch eine Möglich mit OLE pur. Mit dem 'OLE/COM Object Viewer' über das Menü 'File'->'View Typelib...' sich seine ActiveX-EXE auswählen. Es erscheint ein Fenster mit den dazugehörigen Typelib-Informationen. Diese kopiert man und erzeugt sich in seinem C++-Projekt eine leere IDL-Datei in die man diese Informationen kopiert. Der Compiler erzeugt dann die benötigten Sourcen daraus. An der entsprechenden stelle im Code fügt man noch die Header ein und den eigentlichen Aufruf:
Code:
_Class *pClass = NULL;

HRESULT hr = CoCreateInstance
(CLSID_Class ,NULL,CLSCTX_LOCAL_SERVER,IID__Class ,
(void **)&pClass);
// CLSCTX_INPROC_SERVER ist für DLL's
hr = pClass->Methodenname();
pClass ->Release();
Fertig.
Vorrausgesetzt, dass die öffentliche Klasse in der ActiveX-EXE ist auf dem System bekannt ist, siehe 'dcomcnfg'.

Gruß
 
Zuletzt bearbeitet:
Zurück