COM-Interface Methoden mit Objekten als Übergabeparametern?
-
Wenn man in einem ATL-Projekt in ein COM-Interface eine Methode einfügt, können für deren Übergabeparameter im Wesentlichen nur einfache Datentypen angegeben werden. Ich würde aber gerne beim Aufruf der Methode durch den COM-Client ein Objekt einer Klasse übergeben. Geht das irgendwie und wenn ja, wie?
Kann da evtl. der VARIANT Datentyp (bzw. die Klasse CComVariant) helfen?
-
Du kannst in der IDL jeden bekannten Datentyp verwenden. Das heisst,
wenn du dein "fremdes" Interface mittels include oder importlib einbindest
kannst du es natürlich auch als Parameter verwenden.
Alternativ kannst du natürlich jederzeit IDispatch oder IUnknown verwenden,
da zumindest IUnknown zu jedem COM-Objekt gehört kannst du dies als wirklich
"allgemeingültigen" Platzhalter überall verwenden.
Variant ist nicht notwendig.
-
Hmm, klingt eigentlich logisch. Werd ich mal ausprobieren.
Danke soweit.