So ginge es:
Delphi-Quellcode:
Procedure Fak_rek1(n : integer; Ergebnis : int64);
a:= ergebnis*n ;
fak_rek1 ( n-1 , ergebnis*n );
Aber es wäre komplett sinnfrei, weil Ergebnis offensichtlich (schon vom Namen her) ein Ergebnis enthalten soll. Nachdem die Funktion zurückgesprungen ist, ist sowieso davon auszugehen, das a einen anderen Wert enthält als den, den du a gegeben hast.