Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Onclick Procedure im Code aufrufen
nepleurepas - Sa 06.09.08 17:44
Titel: Onclick Procedure im Code aufrufen
Hallo,
ich möchte eine onclick-procedure von einer anderen Procedure aufrufen. Also z.b.:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); begin showmessage('') end;
procedure aufrufen begin TForm1.Button1Click(Sender: Tobject);\\ so funktionierts ja leider nicht end; |
Ich weiß, ich könnte auch einfach eine dritte Procedure schaffen und diese dann von den beiden anderen aufrufen. Aber ich möchte direkt die Onclick-procedure aufrufen.
Vielen Dank für Antworten
gruß stefan
LexXis - Sa 06.09.08 17:46
;)
nepleurepas - Sa 06.09.08 18:07
LexXis hat folgendes geschrieben: |
;) |
thx, läuft
Tilman - Sa 06.09.08 18:18
Wobei das mit dem Click natürlich ein sonderfall ist, weil der Button eben eine Methode Click hat, welche das Eregnis ausführt - das kann man so aber nicht immer auf alle Eregnisse übertragen. Allgemeiner geht es auch so:
Wobei statt self auch ein anderes TObject angegeben werden kann, je nach dem ob man es überhaupt braucht / abfragt. Z.B. kann man auch den sender der anderen prozedur "weiterreichen".
Delete - Sa 06.09.08 23:46
Das ist aber schlechter Programmierstil meiner Meinung nach.
Besser wäre es den Code im dem Klickereignis auszulagern in eine externe Routine und diese dann aufzurufen, sowohl aus dem Klickereignis der Schaltfläche als auch von der anderen Stelle im Code. Dann hat man solche Problme gar nicht erst und man hat den ausführenden Code von der Oberfläche getrennt. Wenn du den Code jetzt noch in eine andere Unit auslagerst, kannst du jede Oberfläche drumrumbauen die du willst. Desweiteren erhöht das die wiederverwertbarkeit deines Codes.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!