Thema: Delphi Stack Overflow

Einzelnen Beitrag anzeigen

evilhomer

Registriert seit: 13. Jun 2008
Ort: Würzburg
6 Beiträge
 
#10

Re: Stack Overflow

  Alt 13. Jun 2008, 18:12
Sorry, so ganz ist das Problem immer noch nicht vom Tisch ...
Der Code sieht momentan so aus:

Delphi-Quellcode:
procedure TForm1.Prim_re(n,i:integer);
var prim:boolean;

begin
  if n < limit then
  begin
    if i = 1 then List2.Items.Add(IntToStr(n));
    if (n mod i) = 0 then Prim_re(n+1,n)
    else Prim_re(n,i-1);
  end;
end;
Funktioniert auch anscheinend wunderbar, solange man sich auf die Zahlen von 1 bis 293 beschränkt. Alles darüber bringt einen StackOverflow.
Aus irgendeinem Grund sieht der Stack so aus:

TForm1.Prim_re(???,???)
TForm1.Prim_re(293,2147350260)
TForm1.Prim_re(293,266)
TForm1.Prim_re(293,267)
TForm1.Prim_re(293,268)
... usw, usw

Wie kommt es dazu, dass der Speicher auf einmal so spinnt? Kennt sich vllt jemand damit aus?
  Mit Zitat antworten Zitat