PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Proceduren


freak182
18.06.2002, 15:44
hi, ich bins mal wieder mit einem neuem thema. ;)
hab da mal ne frage... kann ich bei dem folgendem code:


...
PROCEDURE y;
BEGIN
...
END;

PROCEDURE x;
BEGIN
y;
END;
...


ich versuche also von der procedure x in dir procedure y, die über der procedure x steht zu springen. leider ist das irgendwie nicht möglich. kennt jemand eine möglichkeit wie ich das dennoch hin bekomme? leider kann ich die procedure x NICHT über die procedure y schreiben. :mauer: ...sonst würde es ja auch gehen.

ich hoffe ich hab jetzt nicht alle klarheiten mit x...y...y...x...y beseitigt... :D

mfg,
timoK.


Felix Kaiser
18.06.2002, 17:32
Du hast zwei Möglichkeiten: Entweder du verschiebst die Prozedur x über die Prozedur y oder du machst eine 'Forward' Referenz auf die Prozedur x über die Prozedur x:

procedure x; forward;

Eine Forward-Referenz besagt nur, dass die Prozedur oder auch Funktion weiter unten im Quelltext deklariert wird, aber ab dieser Position bereits verwendet werden kann.

freak182
18.06.2002, 19:49
:) ok,das beantwortet eigentlich alles.
da ich ja die x-procedure nicht über die y procedure schreiben kann,werde ich wohl die forward referenz benutzen.

vielen dank @ f.kaiser

Diogenes
19.06.2002, 18:49
Eine Anmerkung zur Syntax:

Wenn Parameter übergeben werden, muß die Parameterliste in der forward-Deklaration stehen. Dort müssen auch far bzw. near stehen ... kurzerhand: alles, was der Compiler wissen muß, um den Aufruf richtig zu übersetzen.