![]() |
Welche Komponente führt die Metode aus?
Nehmen wir an ich habe 10 Komponenten des Typs TButton.
Alles dieser Komponenten haben die selbe OnClick Methode: ButtonClick Das heißt egal auf welchen Button gedrückt wird, es geschiet das gleiche. Nun möchte ich in der Metode des Button klicks abfragen welcher Button denn diese Metode ausgeführt hat und dies dann anzeigen. |
Re: Welcher Komponente führt die Metode aus?
Die OnClick-Methode bietet Dir einen Parameter namens "Sender", dort kann Du überprüfen, auf welchen Button geklickt wurde.
|
Re: Welche Komponente führt die Metode aus?
Schau dir mal den Parameter Sender an.
|
Re: Welche Komponente führt die Metode aus?
Ja habe ich bereits, aber ich werde daraus nicht schlau. Entschuldigung
|
Re: Welche Komponente führt die Metode aus?
Wo hapert es denn?
Du kannst per
Delphi-Quellcode:
an den Namen des Buttons dran kommen.
(Sender as TButton).Name
|
Re: Welche Komponente führt die Metode aus?
Geht das denn auch mit Arrays? Ich habe ein Array von TJvThreads, jedoch wenn ich mit ShowMessage und dann dem Code von eben arbeiten möchte funktioniert das nicht. Ungültige Typenumwandlung
|
Re: Welche Komponente führt die Metode aus?
Zeig mal den Code
|
Re: Welche Komponente führt die Metode aus?
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var LI: TListItem; begin Inc(Index, 1); SetLength(Views, Index+1); SetLength(Threads, Index+1); { Neue ListView erstellen } Views[Index] := TJvListView.Create( self); Views[Index].Parent := panel1; Threads[Index] := TJvThread.Create(Form2); Threads[Index].OnExecute := ThreadsExecute; Threads[Index].Tag := Index; { Eigenschaften der neuen Listview zuweisen } with Views[Index] do begin Columns := JvListView1.Columns; ViewStyle := vsReport; Width := JvListView1.Width; Height := JvListView1.Height; Top := JvListView1.Top; Left := JvListView1.Left; end; Threads[Index].ThreadDialog := nil; Threads[Index].Execute(self); Tabs.AddTab(Edit1.Text); Tabs.SelectedTab := Tabs.Tabs.Items[Index]; end; procedure TForm2.ThreadsExecute(Sender: TObject; Params: Pointer); var I: Integer; begin ShowMessage((Sender as TJvThread).Name); end; |
Re: Welche Komponente führt die Metode aus?
Lass dir mal Anzeigem von Welchem Typ Sender ist.
|
Re: Welche Komponente führt die Metode aus?
Und wie :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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