Einzelnen Beitrag anzeigen

Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#1

Listenindex überschreitet das Maximum (6)

  Alt 10. Dez 2004, 21:49
Hallo zusammen,

folgende Schleife:

Delphi-Quellcode:
    q_fields.SQL.Text := ' SHOW FIELDS FROM ' +
      tv_databases.Selected.Parent.Text + '.' +
      tv_databases.Selected.Text;
    q_fields.Open;
    q_fields.First;

    lb_fields.Width := 120;

    q_content.SQL.Text := 'SELECT ';

    lb_fields.Items.Clear;

    for i := 0 to q_fields.RecordCount - 1 do
    begin
      lb_fields.Items.Add( q_fields.Fields[i].FieldName );
      lb_fields.Checked[i] := cbChecked;
      q_content.SQL.Add( q_fields.FieldDefs[i].Name );
      if i < q_fields.RecordCount - 1 then q_content.SQL.Add(', ');
      q_fields.Next;
    end;

    q_content.SQL.Add(' FROM ' +
      tv_databases.Selected.Parent.Text + '.' +
      tv_databases.Selected.Text);
    lb_sqlsyntax.Items.Add( TimeToStr( time ) + ' | ' + q_content.SQL.GetText );
treibt mich ATM echt zur Verzweifelung.

Die Fehlermeldung, wie oben schon erwähnt:
"Listenindex überschreitet das Maximum (6)"
Die 6 bezieht sich, soweit ich weiss, auf die Anzahl der tatsächlichen Felder, also "RecordCount".
q_content ist eine TZQuery, tv_databases eine TreeView-Komponente, lb_sqlSyntax eine ListBox und lb_fields schliesslich die Listbox, in der die Felder aufgelistet werden sollen.

Der Fehler liegt auf jedenfall in der "FOR-TO"-Schleife. Wenn ich deren Inhalt auskommentiere, funktioniert alles.
Wenn ich aber nur eine Zeile (egal welche) innerhalb dieser Schleife ausführen lassen - kommt die Fehlermeldung.

Jemand ne Idee? Hab ich vielleicht was übersehen, weil ich jetzt schon wieder zu lange davor sitze? ^^

Danke euch im Voraus

tyler
  Mit Zitat antworten Zitat