Ereignis einer neu erstellen Komponente zuweisen
-
Habe in der FAQ folgendes Gefunden:
Button1->OnClick = OnButton1Click;
wobei irgendwo da steht:
void __fastcall TForm1::OnButton1Click(TObject *Sender)
{
...
}____________________________________________________________________
Bei mir sieht das ganze so aus:
void __fastcall TFrm_Rechnungsformular::OnLabelClick(TObject *Sender)
{}
void __fastcall TFrm_Rechnungsformular::Label1Click(TObject * Sender)
{TLabel *label = new TLabel(Application);
label->Parent = Panel1;
label->Width = 21;
label->Height = 13;
label->Left = 24;
label->Top = 24;
label->Caption = "Text";
label->DragMode = dmAutomatic;
label->OnClick = OnLabelClick;}
Darauf bekomme ich die Meldung:
[C++ Fehler]
u_rechnungsform.cpp(17): E2316 '_fastcall TFrm_Rechnungsformular::OnLabelClick(TObject *)' ist kein Element von 'TFrm_Rechnungsformular'was ist daran falsch im gegensatz zu der Lösung in der FAQ ?
thx
-
hallo,
wahrscheinlich hast du veergessen, dein event in der headerdatei zu redeklarieren, deshalb kommt die meldung das es kein element der klasse xy ist.
du musst in der header also:class 0815: public tobject { .. public: void __fastcall OnLabelClick(TObject *Sender); };
schreiben, damit die klasse die routine kennt...
mfg
murph