Текущий архив: 2005.10.23;
Скачать: CL | DM;
ВнизДинамическая коллекция объектов Найти похожие ветки
← →
begin (2005-09-27 11:57) [0]Добрый день.
Есть ли в Delphi динамическая коллекция объектов? Аналог Vector в Java.
То есть, что то типа:
collection.Add(newObject);
object:=MyObject(collection.GetN(n));
← →
alex_*** (2005-09-27 12:16) [1]TObjectList
← →
begin (2005-09-27 15:22) [2]Наверное я что-то делаю не правильно.
Сначала вставляю объекты в TObjectList:
while (not oldQ.Eof) do
begin
menu:=TMenu.Create.Create;
menu.name:=oldQ.FieldByName("name").AsString;
menu.description:=oldQ.FieldByName("description").AsString;
menu.author:=oldQ.FieldByName("author").AsString;
menuList.Add(menu);
oldQ.Next;
end;
Потом достаю:
for i:=1 to menuList.Count do
begin
menu:=Tmenu(menuList.Items[i-1]);
......
q.ExecSQL;
end;
Достается только все время последний вставленный объект. Как сделать правильно ?
← →
Digitman © (2005-09-27 15:50) [3]
> menu:=TMenu.Create.Create
это что за галиматья ? Create.Create в смысле ? сам-то понял, что здесь сказал ?
> Потом достаю
из широких штанин ?)
нет, ну я понимаю конечно же мазохистское удовольствие : сначала организовать цикл от 1 до N, а в теле цикла индексировать элемент списка вычитая всякий раз из индекса единицу)
← →
Внук © (2005-09-27 16:28) [4]>>Digitman © (27.09.05 15:50) [3]
>> menu:=TMenu.Create.Create
Самое смешное, что это будет работать совершенно корректно. Насколько я знаю.
← →
Внук © (2005-09-27 16:39) [5]При условии, что в самом конструкторе не создаются динамические объекты. Тогда, конечно, утечка памяти. В TMenu они создаются...
← →
Digitman © (2005-09-27 17:16) [6]
> Внук © (27.09.05 16:28) [4]
а говоришь при этом, что
> это будет работать совершенно корректно
))
Страницы: 1 вся ветка
Текущий архив: 2005.10.23;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.036 c