Einzelnen Beitrag anzeigen

MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#6

Re: ZeosLib: ständig Access-Viol. bei GetIntByName & Ser

  Alt 29. Jun 2009, 10:32
Zitat von DeddyH:
Funktioniert es denn so?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  Query.Close;
  Query.SQL.Text := 'SELECT * ' +
                    'FROM test;';
  Query.Open;
  i := 0;
  SetLength(FTerminartIds,0);
  while not Query.EOF do
  begin
    inc(i);
    SetLength(FTerminartIds,i);
    FTerminartIds[High(FTerminartIds)] := Query.DbcResultSet.GetIntByName('test_id'); // Access Violation
    Query.Next;
  end;
end;
Ich weiß, dass das nicht performant ist, aber das kann man ja noch optimieren, wenn es funktionieren sollte.
Da soll mich doch gleich dieser und jener... SO GEHTS! Klär mich auf, was machst du anders und ich falsch??? Muss etwas mit meinem dynamischen Array zu tun haben, aber was?

EDIT: Du setzt mit SetLength(FTerminartIds,i) die Länge bei jedem Schleifendurchgang aufs Neue. Warum das? Warum nicht so wie ich, einmal am Anfang? Müsste doch auch klappen?!?
  Mit Zitat antworten Zitat