ActiveX ohne MFC?
-
Hallo Leute,
und zwar will ich eine Active-X komponennte verweden, mit MFC wirklich perfekt dank "InvokeHelper".
Jetzt will ich jedoch die Active-X kompo ohne MFC (Console!) verweden. Der InvokeHelper funktioniert jedoch nicht.
Kennt sich damit jemand aus?
-
Verwende #import. Der C++ Compiler bringt alles eigene Werkzeug mit auch diese Schnittstellen direkt aufrufen zu können. Dazu werden entsprechende Wrapper durch den C++ Compiler erzeugt.
-
Alles klar. Hab das ding nun ohne Probleme importieren können. VIelen Dank!! Nur welche FUnktionen nutze ich jetzt zum Aufrufen der FUnktionen?
-
Du erzeugst mit CreateInstance entsprechende Zeiger auf die Objekte. Es gibt dirkete Funktionswrappper die Du über -> ansprechen kanst.
-
Sprichst du von CComDispatchDriver() ? Bzw. gibt mal ein zwei Stichwörter nachdenen ich suchen kann.
-
Nein! Wenn Du mit #import eine entsprechende Schnittstelle imporierst, werden entsprechende Wrapper Klassen erzeugt, die man mit CreateDispatch/CreateInstance erzeugen/aktivieren kann. Man kann dann die Methoden direkt aufrufen.
-
Hm, ok. Evt. ein kleines Beispiel für di3e Funktion Test( "hallo" ); ?

-
Wenn du mit #import arbeitest kannst du direkt inetwa sowas schreiben:
void foo() { RecordsetPtr rs("ADODB.Recordset"); // hier wird intern CreateInstance aufgerufen rs->Lala(...); }Bei Returnwerten wo das Fehlerbit gesetzt ist fliegt automatisch ein _com_error, Reference Counting ist automatisch etc.