Guten Tag zusammen,
bei der Ausgabe einer Datenbankabfrage erhalte ich folgenden Fehler:
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt SQL_CLIENT.exe ist eine
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 0047FBE9 in Modul 'SQL_CLIENT.exe'. Lesen von Adresse 0003FFFC' aufgetreten.
Dann sind ca 150.000 der 240.000 Datensätze verarbeitet.
lenke ich die Ausgabe in ein TMemo um ist der Speicherverbrauch nicht ganz so hoch (ist ja eigentlich klar) und alles klappt.
hier der zugehörige Source-Code:
Delphi-Quellcode:
procedure INSTRINGGRID(ins:string;sg:tstringgrid);
var
i : integer;
fldcnt : integer;
begin
fldcnt:=1;
for i:=1 to length(ins) do
if ins[i]=#9 then inc(fldcnt,1);
if sg.ColCount<fldcnt then sg.colcount:=fldcnt;
for i:=1 to fldcnt do
sg.cells[i-1,sg.rowcount-1]:=feld(ins,i);
sg.rowcount:=sg.rowcount+1;
end;
for i:=0 to tl.count-1 do begin
try
INSTRINGGRID(tl[i],form1.StringGrid1);
except
showmessage('Fehler bei Datenausgabe in Stringgrid aufgetreten Datensatz Nr'+inttostr(i));
break;
end;
form1.L_Grid_Count.caption:=inttostr(i)+' von '+inttostr(tl.count);
end;
Ich vermute, daß schlicht und ergreifend der Speicher am Ende ist, und das darum die obige Fehlermeldung Blödsinn ist. Oder liege ich da falsch?