Entwickler-Ecke
Sonstiges (Delphi) - OnClick Ereignisse in andere Unit auslagern
SmileySN - Do 23.03.06 19:49
Titel: OnClick Ereignisse in andere Unit auslagern
Kann man OnClick-Ereignisse z.B. von Form1 in unit2 auslagern ?
wenn ja was muss man dazu machen, damit noch alles gefunden wird ?
Vera - Do 23.03.06 19:51
Ja, das fuktioniert.
Nur bedenke, dass es sich dabei um eine Methode und keine Procedure handeln muss.
SmileySN - Do 23.03.06 20:54
Na immerhin es soll also grundsätzlich funktionieren.
Jetzt stellt sich nur noch die Frage wie ?
Nehmen wir als Beispiel die OnKeyPress Routine von Form1.
Die soll in Unit2, dort habe ich aber keine Form mit angelegt, ich hoffe das stellt kein Problem dar.
In dieser Routine habe ich aber auch den Befehl Perform(WM_NextDlgCtl, 0, 0); verwendet, den erkennt er in Unit2 nicht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.EdBarcodeKeyPress(Sender: TObject; var Key: Char); begin if key = chr(vk_Return) then begin Key := #0; Perform(WM_NextDlgCtl, 0, 0); end; end;
procedure TForm1.EdMandantKeyPress(Sender: TObject; var Key: Char); begin if key = chr(vk_Return) then begin Key := #0; Perform(WM_NextDlgCtl, 0, 0); end; end; |
Oder fällt jemand noch eine bessere Möglichkeit ein um z.B. die Keypress Ereignisse zu zentralisieren und zu optimieren.
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
SmileySN - Mi 19.04.06 11:06
Vera hat folgendes geschrieben: |
Ja, das fuktioniert.
Nur bedenke, dass es sich dabei um eine Methode und keine Procedure handeln muss. |
Was wollen uns diese Worte sagen !
Eine Procedure setze ich einfach in eine andere Unit in den Implementation Teil, deklariere sie im Interface Teil und setze die HerkunftsUnit in die Uses Klausel unter Implementation dazu.
Wie geht das bei Methoden ????
mkinzler - Mi 19.04.06 11:11
Methoden gehören zu einer Klasse. Diese muß also instantiiert werden (kann im Initialisierungsteil der Unit automatisch geschehen). Unit in uses einbinden, dann kanst du auf die Methoden zugreifen. Einfach obj.onClick := envclass.onObjClick;
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!