Zitat von
himitsu:
OK, da ist der Integer wohl etwas zu klein
ersetze mal diese Zeilen (3 mal)
Delphi-Quellcode:
If Assigned(FProgress) Then FProgress(Self, Length(Value)
* 9999 div Integer(P - Integer(Value)));
durch diese
Delphi-Quellcode:
If Assigned(FProgress) Then FProgress(Self, Int64(Length(Value))
* 9999 div ((Integer(P) - Integer(Value)) div SizeOf(Char)));
wobei es so auch gehn sollte
Delphi-Quellcode:
If Assigned(FProgress) Then FProgress(Self, Trunc(Length(Value)
* 9999.0 / ((Integer(P) - Integer(Value)) div SizeOf(Char))));
bzw. ich hab es in Beitrag #7 schon ersetzt
(hoffentlich stimmt nun auch die Klammersetzung)
habe die zeilen ausgetauscht jetzt kommt beim laden des selben datensatzes folgendes von progress zurück:
0
-1874890282
1463535298
1214422907
746116034
538470534
am ende kommt dann ganz oft 10001 und schliesslich 9999.