Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi COM-Objekt mit selbst definierten Events (https://www.delphipraxis.net/69504-com-objekt-mit-selbst-definierten-events.html)

Tommahawk 16. Mai 2006 08:42


COM-Objekt mit selbst definierten Events
 
Hallo liebe Freunde,

ich stecke in größeren Schwierigkeiten bezüglich COM-Objekten. :freak:

Ich habe mir ein eigenes COM-Objekt erstellt (Neu -> ActiveX -> ActiveX-Bibliothek, Neu -> ActiveX -> COM-Objekt). Mit Hilfe des Typbibliothek-Assistenten hab ich dann die Schnittstelle definiert. Soweit hat alles prima funktioniert.

Nun möchte ich dieses COM-Objekt mit eigenen Events ausstatten. Ab diesem Punkt fehlt mir jegliches Verständnis. Wie definiere ich eigene Events (zum Beispiel: "OnInfo") für ein COM-Objekt, auf die dann eine Hostanwendung reagieren kann?

Ich habe zwar schon ein "Lehrbuch"-Beispiel nachvollzogen, kann das aber nicht auf meinen konkreten Anwendungsfall projezieren. In diesem Fall erzeugt man kein COM-Objekt, sondern ein Automatisierungsobjekt. Mit diesem Automatisierungsobjekt kann ich wunderbar Events definieren, habe aber Probleme meine eigene Schnittstelle aufzubauen. In einem Automatisierungsobjekt kann der Typbibliotheks-Assistent aus mir unerklärlichen Gründen nur noch Prozeduren anlegen (Stichwort: "safecall").

Ich blick da nicht durch. :cyclops: Ich möchte doch nur ein paar eigene Events für mein COM-Objekt definieren.

Kann mich irgendjemand zum Licht am Ende des Tunnels führen? Oder kennt irgendjemand ein paar gute Links zu diesem Thema?


Ich bin Euch wirklich für jede Hilfe dankbar. :kiss:

Thomas


Sofern es von Bedeutung ist: Ich arbeite mit Borland Delphi 7 Enterprise auf Windows 2000.

Fubar 16. Mai 2006 11:59

Re: COM-Objekt mit selbst definierten Events
 
Stichwort "Connection Points". Du ermöglichst es damit Clients, sich am COM-Objekt als "Event-Empfänger" anzumelden. Funktioniert ähnlich wie das Observer Pattern.

http://www.codeproject.com/com/connectionpoint.asp


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz