Am Anfang der Schleife wird pufflen gesetzt.
Zitat:
pufflen:=lpos-1+gelesen;
Danach wird es zwar noch ein paar mal verändert, aber nicht verwertet, von daher stimmt die Meldung (sofern ich nichts übersehen habe).
[edit] Nochmal ein einfaches Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, ErrorVariable: integer;
begin
i := 0;
repeat
ErrorVariable := 3;
ShowMessage(IntToStr(ErrorVariable));
ErrorVariable := ErrorVariable + 3; //hier kommt o.a. Meldung, was ja auch stimmt
inc(i);
until i > 4;
end;
Hier dagegen kommt keine Meldung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, ErrorVariable: integer;
begin
i := 0;
ErrorVariable := 3; //Initialisierung außerhalb der Schleife
repeat
ShowMessage(IntToStr(ErrorVariable));
ErrorVariable := ErrorVariable + 3;
inc(i);
until i > 4;
end;
[/edit]