Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#42

Re: Term (Zeichenfolge 1+2*3) in Fließkommazahl

  Alt 23. Okt 2009, 14:55
für sowas gibt es den Debuger ... da schaut man wo es knallt und auch gleich warum

da fällt dann auf, daß es hier knallt
Delphi-Quellcode:
SL.Delete(i);
SL.Delete(i+1); <<<
die aktuellen Werte sind da
Code:
i = 3

0: 1
1: +
2: 2
3: *
4: 3
Code:
0: 1
1: +
2: 6  << durch SL[i-1]:=...; geändert
      << der alte Wert an Index 3 wurde durch SL.Delete(i); gelöscht
3: 3  << hat jetzt den Index 3 und nicht mehr 4
ja und nun versuchts du SL.Delete(i + 1);
i+1 = 4 und die 4 gibt es nicht mehr ... also da auch nur SL.Delete(i);


PS: das i := -1; ist jetzt falsch, da war, bevor ich dort mal das ELSE einfügt,
denn vorher wurde nach der Schleife das i:=i+1; noch mit ausgeführt und -1+1=0 ... also der Anfang, aber wegen des Else muß da jetzt auch stattdessen i:=0; hin (hab es oben mal editiert)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat