*Sender benutzen
-
Hi,
ich mache gerade meine ersten Schritte mit Borland C++.
Mein Code sieht so aus:
void __fastcall TForm1::Button1Click(TObject *Sender) { TLabel* label[10]; for(int i = 0; i < 10; i++) { label[i] = new TLabel(this); label[i]->Parent = Panel1; label[i]->Top = i*12+5; label[i]->Left = 10; label[i]->Caption = (char)(i+48); label[i]->OnClick = test; } } void __fastcall TForm1::test(TObject *Sender) { }
Ich möchte, dass ich in der Methode test() herausfinden kann, welches der 10 Labels angeklickt wurde. Deshalb dachte ich, dass ich über *Sender an den Namen des Objekts komme.
Aber die Fehlermeldung, die erscheint, lautet:
Name ist kein Element von TObject
Der Code ist dieser:
void __fastcall TForm1::test(TObject *Sender) { ShowMessage(Sender->Name); }
Wie komme ich denn an die Werte, die das "aufrufende" Objekt hat, heran?
Simon
-
Ich habs:
void __fastcall TForm1::test(TObject *Sender) { ShowMessage(dynamic_cast<TLabel*>(Sender)->Name.c_str()); }