Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Prozedur aus einer anderen Prozedur aufrufen
delphistart - Fr 15.09.06 15:55
Titel: Prozedur aus einer anderen Prozedur aufrufen
Hallo,
ich versuch mich gerade an Delphi und bissher hats auch ganz gut geklappt. Ich habe allerdings ein Problem, dass mir einfach erscheint aber auch durch googlen nicht zu lösen war.
Ich Prozeduren, die durch klick auf verschiedene Bilder ausgelöst wird.
Ein Teil des Befehlstextes wiederholt sich aber in jeder Prozedur. Deshalb würde ich gerne eine Prozedur mit den sich wiederholenden abschnitten schreiben.
Die Prozeduren die durch Klick aufgerufen werden sollen nachdem sie die sonstigen befehle ausgeführt haben die Prozedur mit den Wiederholungen aufrufen, so dass dann noch die sich wiederholenden Befehle ausgeführt werden.
Danke schonmal für eure Antworten
Gruß Jonas
Gausi - Fr 15.09.06 16:31
Hallo und :welcome: in der Entwickler-Ecke!
Meinst du evtl. sowas?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TuWas; begin ShowMessage('Ich tu ja was'); end;
procedure MachWas; begin showmessage('Ich mach ja was'); TuWas; end;
procedure MachMalPause; begin Showmessage('Feierabend'); end;
procedure TForm1.Button1Click(Sender: TObject); begin MachWas; MachMalPause; end; |
delphistart - Sa 16.09.06 14:31
Titel: Geht leider nicht; Bestimmt ein dummer Fehler von mir...
So habe ichs auch probiert, aber der sagt -undefinierter Bezeichner-
Kann es sein, dass ich sie Prozedur irgendwo registrieren muss bevor sie geht?
Im Delphi code stehen ja oben schon die anderen Prozeduren, aber ich weis nicht wie ich meine eigene da eintragen soll ohne das es einen Fehler gibt.
Danke schonmal für die Hilfe...
Gruß Jonas
Gausi - Sa 16.09.06 14:40
Das kann mehrere Ursachen haben. In meinem Beispiel habe ich immer zuerst die Procedur geschrieben, und sie erst später im Quelltext aufgerufen. Wenn du auf diese Reihenfolge nicht achten willst, muss man die Prozedurnamen auch im Interface-Teil der Unit einfügen. Also
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| interface
Uses procedure machwas;
implementation |
Ich vermute aber stark, dass du eher in den Funktionen auf Teile von Form1 zugreifst. Nun, dann muss man entweder schreiben, dass man Sachen von Form1 meint mit
Delphi-Quelltext
1: 2: 3:
| Form1.Button1.Caption := 'Tag'; |
Oder man schreibt die Prozedur als eine Methode von Form1, dann muss man sie dort deklarieren, wo auch die Button-Klick-Prozeduren etc. auftauchen, und später im Quelltext die Prozedur so beginnen:
Delphi-Quelltext
1: 2: 3:
| Procedure TForm1.Machwas; |
delphistart - Sa 16.09.06 15:06
Titel: Vielen Dank
Das erste wars...
Besten Dank, jetzt geht alles!
Gruß Jonas
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!