Если тлист заполнять в цикле то по выходу из него - данные пропадают, если же объекты добавлять вне цикла, то с ними потом можно работать в том числе и в цикле.
Вопрос, это баг или так было задумано? И как бы все же заполнять тлист в цикле?
ЗЫ. В основном такая беда при работе с TCoordPoint.
CODE
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
a: TList;
begin
a := TList.Create;
try
// так работает
//{
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
a.Add(TCoordPoint);
//}
for i := 1 to 10 do
begin
// а так не работает
//a.Add(TCoordPoint);
a.Items[i - 1].x := i;
a.Items[i - 1].y := i;
end;
for i := 1 to 10 do
begin
Form1.Memo1.Lines.Add(' x = ' + IntToStr(a.Items[i - 1].x) + ' y = ' + IntToStr(a.Items[i - 1].y));
end;
finally
a.Free;
end;
end;