Ich habe da mal eine Frage zur COM-Objekt-Programmierung:
Ich habe folgende Funktion programmiert:
Code: Alles auswählen
*inst = GetInstanceFromProgId("MyProg.Component")
Eigentlich bräuchte man ja bereits hierfür ein in PB definiertes Interface, welches sämtliche Methodennamen des COM-Objekts auflisted (Ich nutze hier IUnknown). Für den Methodenaufruf ist später lediglich deren Reihenfolge von belang, da im ASM-output die Aufrufe folgendermaßen ablaufen:
1. Pushe Parameter auf Stack
2. Lade *inst in eax
3. CALL "eax + 4 * 'MethodenId in Liste'"
Mein Ziel ist es, nun eine Methode
Code: Alles auswählen
InvokeMethod(*inst, "MethodenName" [, Param1 [, Param2 [,...]]])
Gibt es hierfür eine API-Funktion oder lässt sich das irgendwie über QueryInterface oder so erreichen ?
In Matlab funktioniert das übrigens, also muss es irgendwie machbar sein. Da geht das so:
Code: Alles auswählen
h = actxserver('progid')
h.methodenName(Param1, Param2, ...)