Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

hat TStringgrig eine innere Größenbeschränkung?

  Alt 15. Sep 2010, 18:21
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?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat