Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

New() & Dispose() [D7, WinXP]


Flying-home ©   (2004-09-29 19:00:00) 

Подскажите, плз, могу ли я использовать эти процедуры применительно к динамическим массивам?


Flying-home   (2004-09-29 20:28:00) [1]

Спасибо.


Суслик   (2004-09-29 20:07:00) [2]

очищать надо так

dispose(PListItemdata(TempItem.Data))

т.е. с приведением типа
без приведения типа будет утечка памяти.


Flying-home   (2004-09-29 19:59:00) [3]

не.
type
 PlistItemData = ^TListItemData;
 TListItemData = array of integer;
...

var
 lid : PlistItemData;
 TempItem : TListItem;
...

   New(lid);
   TempItem.Data := lid;
   SetLength(PListItemdata(TempItem.Data)^, HHCount);
или
   SetLength(lid^, HHCount);


jack128   (2004-09-29 19:43:00) [4]

Flying-home   (29.09.04 19:21) [6]

> где lid - это переменная типа указательна тип,
и что, компилятор вот это

> SetLength(lid, n);
пропускает??


Суслик   (2004-09-29 19:33:00) [5]


>  [6] Flying-home   (29.09.04 19:21)



покажи как объявлена lid


Flying-home   (2004-09-29 19:21:00) [6]

jack128 ©   (29.09.04 19:10) [5]
К типизированным?

Суслик ©   (29.09.04 19:09) [3]
У ListItem'а в ListView есть такое свойство, как Data.
Я делаю так:
...
New(lid);
SetLength(lid, n);
List.Items[i].Data := lid;
...
где lid - это переменная типа указатель на тип, который является типом "динамический массив".

А вот Dispose к чему делать?
Dispose(List.Items[i].Data)?


jack128   (2004-09-29 19:10:00) [7]

Flying-home   (29.09.04 19:06) [2]
New можно применять только к  типизороованным указателям, Dispose - к любым..


Суслик   (2004-09-29 19:09:00) [8]

можешь
а вообще, код приведи, как ты это хочешь использовать


Суслик   (2004-09-29 19:09:00) [9]

дин. массивы сами указатели.
возможно тебе и не надо указатели на указатели?


Flying-home   (2004-09-29 19:06:00) [10]

Блин, к указателям на переменные типа "Динамический массив", конечно.


jack128   (2004-09-29 19:03:00) [11]

Flying-home   (29.09.04 19:00)

Нет. Только к указателям..


Наверх

Титульная страница Поиск, карта сайта Написать письмо