Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Что происходит с выделнной памятью New(NewRec)   Найти похожие ветки 

 
Саня Голиков   (2008-01-28 01:21) [0]

Что происходит с выделнной памятью New(NewRec)  в процедурах и функциях, после того как ини отработают?

function myfunc();
.....
 New(NewRec);
....
end;

Что будет со структурой, она будет автоматически  порушена или продолжает жить?
ее нужно в ручную разрушать?

сорри..., за тупой вопрос.


 
Palladin ©   (2008-01-28 01:44) [1]

все что ты взял при помощи функций выделения памяти и вызова конструкторов классов ты обязан сам лично освободить в нужный момент


 
Германн ©   (2008-01-28 01:47) [2]


> Саня Голиков   (28.01.08 01:21)
>
> Что происходит с выделнной памятью New(NewRec)  в процедурах
> и функциях, после того как ини отработают?
>
> function myfunc();
> .....
>  New(NewRec);
> ....
> end;
>
> Что будет со структурой, она будет автоматически  порушена
> или продолжает жить?
> ее нужно в ручную разрушать?
>
> сорри..., за тупой вопрос.
>

Вопрос действительно тупой. Поскольку ясно и однозначно описан в справке. Только не говори, что не знаешь английского. Есть ведь и онлайновые переводчики.


 
Германн ©   (2008-01-28 01:49) [3]


> Palladin ©   (28.01.08 01:44) [1]
>
> все что ты взял при помощи функций выделения памяти и вызова
> конструкторов классов ты обязан сам лично освободить в нужный
> момент
>

Плохой перевод справки. :) А может и справка недоделана :)


 
Саня Голиков   (2008-01-28 01:52) [4]


> Palladin ©   (28.01.08 01:44) [1]


Каким методом лучше освободить New(NewRec)

FreeMemory?
FreeMem?

И еще при закрытии программы это правило тоже распостраняется?


 
Германн ©   (2008-01-28 02:06) [5]


> Саня Голиков   (28.01.08 01:52) [4]
>
>
> > Palladin ©   (28.01.08 01:44) [1]
>
>
> Каким методом лучше освободить New(NewRec)
>

Т.е. справку за тебя должен читать Palladin © ? Не ну Тимуру её и читать не надо для ответа на этот вопрос. Но сам-то ты можешь её прочитать? Или религия не позволяет? А ведь в справке явно и недвусмысленно дан ответ на твой вопрос.


> И еще при закрытии программы это правило тоже распостраняется?  

При закрытии программы всё что нужно сделает сама Windows.


 
Семеныч   (2008-01-28 02:17) [6]

> Саня Голиков   (28.01.08 01:52) [4]

> Каким методом лучше освободить New(NewRec)

Каким взял - таким и отдал. New работает в паре с Dispose, GetMem - в паре с FreeMem, конструкторы - в паре с Free. И все это действительно описано в справке. Есть некоторые тонкости в освобождении памяти, занимаемой строками и динамическими массивами, они тоже описаны в справке.

> при закрытии программы это правило тоже распостраняется?

Теоретически, при нормальном закрытии программы система сама освободит все захваченные ею ресурсы (и память тоже). Но культура программизма предписывает все равно все освобождать самому. Причем не при закрытии программы, а сразу, как только ресурс стал не нужен. Иначе можно нарваться на их нехватку и аварийное завершение.



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

Текущий архив: 2008.02.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1200422033
slomalsa_comp
2008-01-15 21:33
2008.02.17
Не включается компьютер :( БИОС не пищит.


15-1200674989
Черный Шаман
2008-01-18 19:49
2008.02.17
Китайцы объявляют территорию России своей землей


2-1200933382
Chysti
2008-01-21 19:36
2008.02.17
Как поменять свойство Caption у всех компонентов формы


2-1201500506
psa247
2008-01-28 09:08
2008.02.17
получить ListView.Data ?


15-1200597998
ProgRAMmer Dimonych
2008-01-17 22:26
2008.02.17
К вопросу об учителях и системе образования