![]() |
dynamischen Panels Ereignisse zuordnen
Hi, Frohe Ostern!
Überschrift sagt glaube ich alles: Ich will den "Panel1" bis "Panel192" die Prozedur "zuweisen" zuordnen, dafür habe ich im OnCreate der Form folgenden Code geschreiben:
Delphi-Quellcode:
Jetzt kommt diese Fehlermeldung:
for i:=1 to 192 do TPanel(FindComponent('Panel' + IntToStr(i))).OnClick:=zuweisen;
Zitat:
|
Re: dynamischen Panels Ereignisse zuordnen
Wie ist denn zuweisen deklariert?
|
Re: dynamischen Panels Ereignisse zuordnen
Die Fehlermeldung deutet darauf hin, dass das Ereigenis, dass zu zuweisen willst, andere Paramtere übergibt, als die Funktion, die du zuweist, akzeptiert. Prüf das mal
|
Re: dynamischen Panels Ereignisse zuordnen
Zitat:
Delphi-Quellcode:
Edit:
TForm1 = class(TForm)
procedure zuweisen; procedure FormCreate(Sender: TObject); [...] procedure TForm1.zuweisen; begin [...] end; Zitat:
EDIT2: Ach der Sender :D, danke hat sich erledigt: ( procedure zuweisen(Sender: TObject); ) |
Re: dynamischen Panels Ereignisse zuordnen
OnClick erfordert eine Prozedur vom Typ TNotifyEvent:
Delphi-Quellcode:
Deine zuweisen-Prozedur muss also so aussehen:
type TNotifyEvent = procedure (Sender: TObject) of object;
Delphi-Quellcode:
Gruß, Moritz
TForm1 = class(TForm)
procedure zuweisen(Sender: TObject); procedure FormCreate(Sender: TObject); [...] procedure TForm1.zuweisen(Sender: TObject); begin ShowMessage(TPanel(Sender).Name); // So kommst du außerdem an den Namen des auslösenden // Panels. Mit TPanel(Sender) kannst du auf die Eigen- // schaften davon zugreifen. Du könnest zum Beispiel im // Tag des Panels eine ID speichern, etc. end; |
Re: dynamischen Panels Ereignisse zuordnen
Super, danke Moritz! Genau danach wollte ich gerade Fragen! :))
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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