Вниз
Скачать: CL | DM;

New() & Dispose()   Найти похожие ветки 

← →
Flying-home   (2004-09-29 19:00) [0]

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


← →
jack128 ©   (2004-09-29 19:03) [1]

Flying-home   (29.09.04 19:00)

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


← →
Flying-home   (2004-09-29 19:06) [2]

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


← →
Суслик ©   (2004-09-29 19:09) [3]

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


← →
Суслик ©   (2004-09-29 19:09) [4]

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


← →
jack128 ©   (2004-09-29 19:10) [5]

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


← →
Flying-home   (2004-09-29 19:21) [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)?


← →
Суслик ©   (2004-09-29 19:33) [7]


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



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


← →
jack128 ©   (2004-09-29 19:43) [8]

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

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

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


← →
Flying-home   (2004-09-29 19:59) [9]

не.
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);


← →
Суслик ©   (2004-09-29 20:07) [10]

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

dispose(PListItemdata(TempItem.Data))

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


← →
Flying-home   (2004-09-29 20:28) [11]

Спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
3-1095427841
denis24
2004-09-17 17:30
2004.10.17
*.gdb


3-1095452204
BigError
2004-09-18 00:16
2004.10.17
Запуск двух MySQL под Windows XP.


3-1095836289
ol
2004-09-22 10:58
2004.10.17
как найти разницу между двумя временами


8-1090565181
Ricks
2004-07-23 10:46
2004.10.17
Медиа плеер


3-1095428871
Morrison
2004-09-17 17:47
2004.10.17
Как реализовать поле с суммой значений из другой таблицы?




   Наверх