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

Что будет со строкой   Найти похожие ветки 

← →
QAZ   (2010-03-18 14:02) [0]

в память положена record, в которой присутствует string
string не пустой и в record он ясен фиг храниться как указатель
освобождаем память выделеную под record...
вопросы:
что будет с текстом на который указывал string?
освободится автоматом? или только вместе с закрытием проги?
или нужно сначала сделать string:="" а потом освободить память от record?


← →
Плохиш ©   (2010-03-18 14:11) [1]


> нужно сначала сделать string:=""

ненужно


← →
KSergey ©   (2010-03-18 14:51) [2]

> QAZ   (18.03.10 14:02)  
> в память положена record
> освобождаем память выделеную под record...

Встречные вопросы: хочется увидеть ответ на вопрос "как" по обеим строчкам.


← →
Sha ©   (2010-03-18 14:55) [3]

если используешь Dispose(), то необязательно,
если используешь FreeMem(), то обязательно.


← →
QAZ   (2010-03-18 15:49) [4]


> Sha ©   (18.03.10 14:55) [3]

имеенно так и есть

вопрос
если GetMem\FreeMem вроде как используют MemoryManager при этом строку не освобождают
как же тогда работает New\Dispose ?


← →
Sha ©   (2010-03-18 16:55) [5]

Dispose последовательно вызывает Finalize и FreeMem.

В любом случае если будешь финализировать сам свое хозяйство хуже не будет.


← →
Суслик_   (2010-03-18 21:04) [6]

для dispose ссылка обязательно должна быть типизирована - т.е. PYourRecord, а не просто Pointer.

иначе не высвободит dispose строку, хотя память из под самой записи высвободит.



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

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



Память: 0.46 MB
Время: 0.045 c
15-1272738123
Pavia
2010-05-01 22:22
2010.08.27
утечка конфиденцальных данных


2-1268291920
Fr
2010-03-11 10:18
2010.08.27
Перебор ключей TIniFile


15-1270038959
pasha_golub
2010-03-31 16:35
2010.08.27
Плач математика


15-1265588356
Германн
2010-02-08 03:19
2010.08.27
Вопрос для работников частных компаний.


15-1274965860
bss
2010-05-27 17:11
2010.08.27
DevExpress -> cxGrid, регистронезависимые фильтры




   Наверх