Bei OnKeypress Event Fkt aufrufen
-
Hi,
kann mir einer sagen wie ich bei einem OnKeyPress eine Fkt aufrufen und am besten noch den "Key" übergeben kann?
Hab das ganze bisher so versucht aber es will nicht:1 feld = new TEdit(parent); 2 feld->OnKeyPress = fkt1(Key);p.s. die Felder werden dynamisch erstellt also kann ich nicht einfach mit dem Objektinspektor arbeiten

-
Hallo,
dein Ansatz stimmt schon, aber übergeben musst du gar nix :)!
void __fastcall TForm1::OwnKeyPress(TObject *Sender, char &Key) { //DoSomething(); } //------------------------------------------------------------------ void __fastcall TForm1::Button1Click(TObject *Sender) { // feld erzeugen feld->OnKeyPress = OwnKeyPress; } //------------------------------------------------------------------mfg, Micha!
-
öhmn also bei mir spuckt er dann das aus:
[C++ Fehler] Column.cpp(55): E2034 Konvertierung von 'void (* (_closure )())()' nach 'TKeyPressEvent' nicht möglich
edit:
die methode ist in der selben klasse richtig definiert und deklariert. Tut aber dennoch nicht.
-
Hallo
Die Fehlermeldung besagt das deine Methode OwnKeyPress parameterlos ist, obwohl dort die ganzen Parameter sein sollten wie es der TKeyPressEvent verlangt.
bis bald
akari
-
selbes Spiel mit eingefügten Parametern:
[C++ Fehler] Column.cpp(59): E2034 Konvertierung von 'void (* (_closure )(TObject *,char &))(TObject *,char &)' nach 'TKeyPressEvent' nicht möglich
Ich glaub ich mach irgendwas grundlegend falsch.
Also biser siehts so aus: ("wert" ist ein Edit Feld)//Methode zum aufrufen void Column::write(TObject *Sender, char &Key){// was tun usw} // Zuweisung wert->OnKeyPress = write;
-
ok, "__fastcall" hat das problem gelöst
Vielen Dank!