Einzelnen Beitrag anzeigen

davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#1

EAccessviolation bei Vista

  Alt 11. Jun 2008, 14:39
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
  Mit Zitat antworten Zitat