Hallo Delphifreunde,
ich schreibe gerade ein Programm, wo ich eine sehr tiefe Rekursion verwende (über 100000!!) Das Programm gibt mir dann einen Stack Überlauf an und kann die Rekusrsion deshalb nicht ausführen.
Wie kann man das verhindern oder wie kann man den Stack erhöhen (mein Arbeitsspeicher von 1GB dürfte doch ausreichen). Ich weiß ja dass es keine Endlosrekursion ist sondern zum Ergebnis führt somit muss es ja nicht abgebrochen werden!
Hier mein Code:
Delphi-Quellcode:
procedure Tform1.kaufen;
begin
while not allesgekauft do
begin
inc(monat);
kontostand:=budget+kontostand;
for i:=elemente-1 downto 0 do
begin
if A[i]<=kontostand then
begin
kaufe(i);
end;
end;
kontostand:=kontostand2;
kontostand2:=0;
if Kontostand>=wertelemente then
begin
allesgekauft:=true;
edit3.Text:=inttostr(monat);
end;
kaufen;
end;
end;
procedure TAufgabe1.kaufe(Enummer:integer);
begin
Kontostand:=Kontostand-A[Enummer];
Kontostand2:=kontostand2+A[Enummer];
end;
MfG Andre
ich hoffe ihr könnt mir helfen..