Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.082 c
14-1128433357
Trigun
2005-10-04 17:42
2005.10.23
Проведение выделенки. Есть ли подводные камни в быстром потоке?


14-1127804254
Empleado
2005-09-27 10:57
2005.10.23
Небольшие заметки. Бельгия.


4-1124286067
Anatoly
2005-08-17 17:41
2005.10.23
Функции BitBtl, StretchBLT дают пустую страницу на принтере


14-1128497676
konda
2005-10-05 11:34
2005.10.23
Глюк в IE6


4-1124713454
Delphi_is_cool
2005-08-22 16:24
2005.10.23
Как установить интервал таймера 1 микросекунда