COM Ereignisse absetzten und erhalten
-
Hallo,
ich habe diese Frage schon einmal ähnlich im Borland Forum gepostet. Ich arbeite mit dem Borland Builder 6, aber wahrscheinlich ist mein Problem nicht wirklich IDE spezifisch. Daher will ich es noch einmal hier probieren:
Ich möchte in meiner Applikation alle COM Methoden/Events einer "Reistered Tyle Lib" verwenden können. Bis jetzt sitze ich total auf dem trockenen.

Mein Frage: Gibt es Funktionen in der WinApi COM Methoden aufzurufen und Event zu erhalten?
Wenn ja, welche?Danke!
P.S.:
Ich rede nicht über die serielle Comm Schnittstelle!
-
Klar geht das.
1.) Event-Sink implementieren.
2.) Objekt erstellen.
3.) Advise bezüglich Event-Interface absetzen.
4.) Events empfangen und verarbeiten.
5.) Unadvise bezüglich Events nicht vergessen.Das lässt sich wirklich nicht mit ein paar Worten erklären. Zu Fuss, d.h. ohne
MFC oder (besser) ATL ist das wirklich nicht trivial, und mit sollte man am
besten auch ordentlich Ahnung von COM-Programmierung haben.
Andernfalls hilft wirklich nur VB.
-
Ich habe jetzt hin bekommen mir eine Collection (Borland) namens "Applications" ausgeben zu lassen.
Inhalt:COM+ Utilities
COM+ QC Dead Letter Queue Listener
COM+ Explorer
MS Software Shadow Copy Provider
.NET Utilities
IIS Utilities
IIS In-Process Applications
IIS Out-Of-Process Pooled Applications
System ApplicationMit dem "FAS Object Browser" (Einem Programm zum Anzeigen registrierter "Type Libs") kann ich mir eine recht lange Liste von Libs anzeigen lassen. In dieser Liste sind die oberen Einträge nicht enthalten.
Versuche ich mir anstelle "Applications" z.B. "COM+ Utilities" ausgeben zu lassen, erhalte ich eine Fehlermeldung ("falscher Parameter").
Das es überhaupt eine Kategorie namens "Appications" gibt hatte ich im Netz gefunden. Woher weiß ich was für Kategorin es gibt?
Was muss ich tun um mir alle Einträge einer Lib namens "AcroPDFLib" anzeigen zu lassen?

Danke!
-
Den "Inhalt" eine TypeLib kannst du dir mit entsprechenden Funktionen
vom ITypeLib-Interface abholen. An die Lib bzw das Interface kommst du mit
LoadRegTypeLib()/LoadTypeLib() und anschliessend GetTypeInfoOfGuid() ran.