Funktionsname in Varibale speichern ?
-
Hi,
hab ne Funktion dessen name ich in eine Variable speichern will,
nur kenn ich den Datentype dieser Variable nicht.void __fastcall TForm1::TestClick(TObject *Sender) { ShowMessage("Hallo"); } TMenuItem *NewItem; NewItem = new TMenuItem(PopupMenu1); NewItem->Caption = "erster Eintrag"; NewItem->OnClick = TestClick; //<- da PopupMenu1->Items->Add(NewItem);
So soll das dann später mal funktionieren:
void __fastcall TForm1::TestClick(TObject *Sender) { ShowMessage("Hallo"); } variable = TestClick(TObject *Sender); ????????????? TMenuItem *NewItem; NewItem = new TMenuItem(PopupMenu1); NewItem->Caption = "erster Eintrag"; NewItem->OnClick = variable; // <- ??????????????? PopupMenu1->Items->Add(NewItem);
weiss da jemand wie ich den funktionsnamen in die variable bekomme ?
-
laut BCB hilfe ist TMenuItem::OnClick vom Typ TNotifyEvent
zB:
TNotifyEvent MyEvent; MyEvent = TestClick; ... NewItem->OnClick = MyEvent;
deklariert ist TNotifyEvent in der hilfe so:
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender); // declared as global in namespace // Classes in classes.hpp
findet man alles in der Hilfe.
Falls es das ist, was du suchst.
-
Hallo
Siehe auch die FAQ hier im Forum, Abschnitt "Komponenten benutzen", Beitrag "zur Laufzeit erstellen, anzeigen und Events zuweisen".
bis bald
akari
-
hi,
wollte mich bei Euch bedanken, funktioniert einfach genial.