Hi!
Habe gerade erst angefangen mich mit der VCL der Boland Builders zu beschäftigen und hänge gerade an einer wichtigen Stelle. Nun die Frage ist, dass ich einfach nur einen Button dynamisch erzeugen und dann das OnClick-Event deklarieren möchte.
Jedoch ist das nicht so einfach wie ich es mir vorgestellt habe.
Ich habe auch schon mal in diesem Forum danach gesucht und folgende Antwort gefunden:
<BR><PRE>
void __fastcall TForm1::Button1Click(TObject Sender)
{
TButton *MyButton = new TButton(this);
MyButton->Parent = this;
MyButton->Name = "MyButton";
MyButton->OnClick = ClickMyButton;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClickMyButton(TObject *Sender)
{
ShowMessage("Knöppelchen gedrückt");
}</PRE><BR>
Nun das ist genau das was ich brauche, dachte ich mir und habe mal schnell einen Button in die Form gezogen und den Quelltext geschrieben. Jedoch zeigt mit nun der Builder folgende Fehlermeldung an:
[BCC32 Fehler] Unit1.cpp(18): E2316 '_fastcall TForm1::ClickMyButton(TObject *)' ist kein Element von 'TForm1'
[BCC32 Fehler] Unit1.cpp(19): E2206 Ungültiges char-Zeichen 'ö' (0xf6)
[BCC32 Fehler] Unit1.cpp(27): E2451 Undefiniertes Symbol 'ClickMyButton'
Der 2. Fehler ist sicher eine Folgeerscheingung des ersten, aber was habe ich falsch gemacht?
Und könntet Ihr mir vielleicht den this-Zeiger noch einmal erklären:
Also hier in diesem konkreten Fall zeigt er auf Form1 richtig? D.h., dass ich anstatt this (hier) auch überall Form1 einsetzen könnte und das den gleichen Effekt hätte, oder?
Ich hoffe diese Frage habt ihr nicht schon zu oft gestellt bekommen und hoffe, dass mir jemand von Euch helfen kann!!
P.S. Benutze zurzeit c++Builder 2007 und 6
mfg. Helli
Frohe Weihnachten!
Habe gerade erst angefangen mich mit der VCL der Boland Builders zu beschäftigen und hänge gerade an einer wichtigen Stelle. Nun die Frage ist, dass ich einfach nur einen Button dynamisch erzeugen und dann das OnClick-Event deklarieren möchte.
Jedoch ist das nicht so einfach wie ich es mir vorgestellt habe.
Ich habe auch schon mal in diesem Forum danach gesucht und folgende Antwort gefunden:
<BR><PRE>
void __fastcall TForm1::Button1Click(TObject Sender)
{
TButton *MyButton = new TButton(this);
MyButton->Parent = this;
MyButton->Name = "MyButton";
MyButton->OnClick = ClickMyButton;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClickMyButton(TObject *Sender)
{
ShowMessage("Knöppelchen gedrückt");
}</PRE><BR>
Nun das ist genau das was ich brauche, dachte ich mir und habe mal schnell einen Button in die Form gezogen und den Quelltext geschrieben. Jedoch zeigt mit nun der Builder folgende Fehlermeldung an:
[BCC32 Fehler] Unit1.cpp(18): E2316 '_fastcall TForm1::ClickMyButton(TObject *)' ist kein Element von 'TForm1'
[BCC32 Fehler] Unit1.cpp(19): E2206 Ungültiges char-Zeichen 'ö' (0xf6)
[BCC32 Fehler] Unit1.cpp(27): E2451 Undefiniertes Symbol 'ClickMyButton'
Der 2. Fehler ist sicher eine Folgeerscheingung des ersten, aber was habe ich falsch gemacht?
Und könntet Ihr mir vielleicht den this-Zeiger noch einmal erklären:
Also hier in diesem konkreten Fall zeigt er auf Form1 richtig? D.h., dass ich anstatt this (hier) auch überall Form1 einsetzen könnte und das den gleichen Effekt hätte, oder?
Ich hoffe diese Frage habt ihr nicht schon zu oft gestellt bekommen und hoffe, dass mir jemand von Euch helfen kann!!
P.S. Benutze zurzeit c++Builder 2007 und 6
mfg. Helli
Frohe Weihnachten!