![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)
Нет. Только к указателям..