Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zwei Events auf einer Component (https://www.delphipraxis.net/120008-zwei-events-auf-einer-component.html)

Pravljica 4. Sep 2008 11:29


Zwei Events auf einer Component
 
Hallo,

ich arbeite am einem Programm, dessen source code ich nicht habe. Ich will einen neuen Event auf eine Component registrieren, aber ich weiss nicht ob diese Component diesen Event schon hat.
Wie kann ich meinen Event registrieren, obwohl der original schon exists? Beide events mussen feuern.

Entschuldige fur mein schlechtes Deutch :-)

taaktaak 4. Sep 2008 11:39

Re: Zwei Events auf einer Component
 
Keine Sorge, dein Deutsch ist velmi dobre - besser als von manch anderem zu lesen.
Sorry, zum Problem selbst kann ich leider nix sagen.

_frank_ 4. Sep 2008 11:47

Re: Zwei Events auf einer Component
 
wenn du den Quellcode nicht hast ist es unerheblich, ob die "Komponente" das event hat. in dem fall kannst du nicht auf die VCL-Eigenschaften zugreifen und musst auf WinApi-Ebene eingreifen.
Jetzt kommt es natürlich darauf an, welche events du realisieren willst. Du kannst dich zwar in die Nachrichtenverarbeitung einklinken, aber auch nur, wenn dein "Event" durch eine solche Nachricht aufgerufen wird.
genaueres kann ich nicht sagen, ohne das Programm und die gewünschten Events zu kennen.

Gruß Frank

Pravljica 4. Sep 2008 13:45

Re: Zwei Events auf einer Component
 
Danke taaktaak, _frank_ :)

Ich habe das gefunden und werde es ausprobieren:
Delphi-Quellcode:
OrigEventHandler := nil;
if Assigned(Comp.Event) then
  OrigEventHandler := Comp.Event;

Comp.Event := MyEventHandler;

...

procedure TForm1.MyEventHandler(<event params>);
begin
  // My code here.


  if Assigned(OrigEventHandler) then
    OrigEventHandler(<event params>);
end;

_frank_ 4. Sep 2008 13:49

Re: Zwei Events auf einer Component
 
ich denke du hast den Quellcode des Programmes nicht? da wird dir das nix nutzen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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