Hallo Leute,
ich habe mir vor kurzem einen neuen Rechner zugelegt, auf dem Vista drauf ist. Nun habe ich das Problem, dass die Programme, die ich auf XP geschrieben habe, Probleme verursachen.
Im aktuellen liegt folgendes vor:
Delphi-Quellcode:
for i := 0 to liste.Count - 1 do
begin
historie:= historie.Auslesen(strtoint(liste[i]));
sgHistorie.cells[0, i+1]:= datetostr(historie.datum);
sgHistorie.cells[1, i+1]:= historie.eintrag;
sgHistorie.cells[2, i+1]:= historie.km;
sgHistorie.cells[3, i+1]:= historie.kosten;
sgHistorie.cells[4, i+1]:= inttostr(historie.ID);
end;
Diese Schleife sorgt dafür, dass Daten aus einer
FB-Datenbank gelesen und in einem StringGrid angezeigt werden. Sie wird problemlos durchlaufen und es ist alles in Ordnung.
Habe ich eine Änderung an den Daten vorgenommen, wird die oben gezeigte Schleife wieder durchlaufen (weil sie Teil einer Prozedur ist, die ich öfters aufrufe). Aber diesmal kommt folgende Fehlermeldung:
"Im Projekt Project1.exe ist eine
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000' aufgetreten."
Setze ich in die erste Zeile der Schleife den Code
showmessage(inttostr(i));
wird mir vor jedem Datensatz der Inhalt der Variable i korrekt angezeigt und die Daten landen auch korrekt im StringGrid.
Hat jemand eine Vorstellung, warum ich hier ein Problem bekomme? Am Code ist doch alles normal und wenn ich der Schleife eine Schnaufpause in Form von Showmessage gebe, geht es auch normal. Aber beim normalen Durchlaufen bekomme ich eine Fehlermeldung. Liegt es an Vista? Am Dual-Core-Prozessor? An mir?
MfG
davar