![]() |
Delphi-Version: 5
Ereignisbehandlungsroutinen "fremdaufrufen"
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Delphifreunde!
Wenn man eine Ereignisbehandlungsroutine von einem "fremden" Steuerelement aus aufrufen möchte, wie macht man das dann richtig? Angehängtes Delphi-2-Minimalprojekt soll mein Anliegen verdeutlichen. Klickt man auf den obersten Button, wird einfach ein Piepton ausgegeben. Der zweite und auch der dritte Button rufen die Ereignisbehandlungsroutine des ersten Buttons auf, mit jeweils unterschiedlichen Parametern. Mangels Ahnung (wie so meistens) habe ich einfach herumprobiert und festgestellt, daß als Parameter (ohne geht es nicht) sowohl "self" als auch "sender" funktionieren. Nur, was ist "richtiger"? Oder gibt es noch einen besseren Weg? Danke im voraus und Gruß Delphi-Laie |
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Literatur dazu:
![]() ![]() ![]() Mehr unter: ![]() Kurz: Self ist die Klasse selbst, in der man implementiert, also quasi eine Selbstreferenz. Sender ist der Auslöser des Ereignisses.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender : TObject);
begin Self.Caption := Format('Self.Name = %s, Self.Classname = %s, Sender.Classname = %s',[Self.Name,Self.Classname,Sender.Classname]); end; |
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Moin...:P
Zitat:
Beispiel:
Delphi-Quellcode:
private
procedure PrintDocument(Document: TDocument; PageCount, PageHeight: Integer); ... procedure TfoDocuments.btnPrintClick(Sender: TObject); begin PrintDocument(FLastdocument, 0, 1); end; |
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Und wenn diese eigene Routine dann noch in einer eigenen Unit und Klasse liegt und diese das Formular nicht kennt, dann ist auch eine gewisse Trennung von GUI und Logik gleich mit umgesetzt.
|
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Zitat:
|
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
gestandene? Dann krabbeln die noch! SCNR
|
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Hallo,
Zitat:
|
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Zitat:
|
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Hallo,
den Smiley nicht gesehen? ;) |
AW: Ereignisbehandlungsroutinen "fremdaufrufen"
Hat er, aber für die Begriffsstutzigen dann nochmal Klartext.
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 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-2025 by Thomas Breitkreuz