![]() |
Denkfehler oder Komponentenproblem?
Hallo Mitstreiter,
ich stehe gerade auf dem Schlauch bei einem Eventhandler. Konkret habe ich eine Klasse, die einem TNA Icon kurzzeitig einen Eventhandler für die Balloonhints zuweisen soll. Das Problem: Der Eventhandler wird nicht ausgelöst weil er nicht an das zugeordnete Objekt übergeben wird. Code (die üblichen Verdächtigen):
Delphi-Quellcode:
Das TrayIcon wird im MainForm erzeugt, und es sind keine Eventhandler zugewiesen. Der Klasseninstanz wird nun das MainForm-Icon über die Property übergeben. Innerhalb der TTestKlasse wird nun ein Event definiert.
type
TTestKlasse = class(TComponent) private ... FTrayIcon: TTntTrayIcon; ... published property TrayIcon: TTntTrayIcon read FTrayIcon write FTrayIcon; end;
Delphi-Quellcode:
Soweit ist also alles klar. Wenn ich das nun laufen lasse, wird der Eventhandler auch FTrayIcon zugewiesen, aber kommt nie beim externen TTntTrayIcon an (übrigens auch nicht bei TTrayIcon).
procedure TTestKlasse.ShowIconNotification;
begin if Assigned(FTrayIcon) then with FTrayIcon do begin OnBalloonHintClick := DoSomething; // hier ist das Augenmerk drauf BalloonFlags := bfInfo; BalloonTitle := _('Test Header'); BalloonHint := _('Testtext'); ShowBalloonHint; end; end; Ein Breakpoint in der TntExtCtrls, der Quelle für TTntTrayIcon, zeigt dies auch genauso an. FTrayIcon hat den Handler, aber nicht das zugewiesene TrayIcon im MainForm. Wo ist mein Denkfehler, den ich vor lauter Programmier-Language-Hopping derzeit nicht sehe? Gruß Assertor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz