Hallo Leute,
folgender Sachverhalt:
Ich lege befüllte TObjects in eine TObjectlist.
Laut Delphi gibt TObjectlist.add(TObject) den Index als integer zurück.
Allerdings ist dieser immer null und ich verstehe nicht weshalb.
hier wie ich in die ObjectList schreibe:
Delphi-Quellcode:
var MultiSQLQ - TIBQuery;
w - TMeinObject;
j: integer;
while not MultiSQLQ.Eof do
begin
for i := 0 to MultiSQLQ.FieldCount - 1 do
begin
w.LoadProp(MultiSQLQ.Fields[i].FieldName, MultiSQLQ.Fields[i].Value);
end;
j := Result.Add(w);
MultiSQLQ.Next;
end;
lesen der Objectlist:
Delphi-Quellcode:
var
u : TMeinObject;
w : TObjectlist;
// ich gebe die Objectlist aus einer Function zurück
for I := 0 to w.Count - 1 do
begin
u :=(W[i]) as TMeinObject;
StringGrid1.Cells[1,i] := IntToStr(u.ID);
StringGrid1.Cells[2,i] := U.Content;
StringGrid1.Cells[3,i] := IntToStr(U.Wert);
end;
wenn ich nun die TObjectlist auslese, gibt er mir nur den letzten gespeicherten Eintrag.
Allerdings gibt TObjectlist.count den korrekten Wert der vorhandenen TMeinObject aus, nur kann ich nicht über den Index auf die weiteren Datensätze zugreifen.
Was mache ich falsch?