|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Корректное завершение программы
Скажите, пожалуйста, необходимо ли (с целью уменьшения загруженности компьютера):
1. динамическое данное, созданное процедурой New, уничтожить (при завершении программы) процедурой Dispose? 2. объект, созданный методом Create, уничтожить (при завершении программы) методом Destroy/Free? 3. динамический массив, созданный с помощью процедуры SetLength, уничтожить (при завершении программы) процедурой Finalize (или присвоением значения константы Nil). 4. файл, открытый с помощью процедуры Reset/Rewrite/Append, закрыть (при завершении программы) процедурой CloseFile/Close. Или программа (при завершении) автоматически уничтожает/закрывает данные пункты? Последний раз редактировалось SpectraL, 04.06.2011 в 08:10. |
#2
|
|||
|
|||
1,2 не обязательно, но очень рекомендуется.
3 не надо, можно ему поставить нулевую длинну. 4 обязательно. 5 обязательно освободить все блоки памяти. выделенные глобально (GlobalAlloc и иже с ним). 6 обязательно закрыть все открытые и заблокированные хэндлы. Вообзе, лучше освобождать все захваченные системные ресурсы. Последний раз редактировалось lmikle, 04.06.2011 в 09:56. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
SpectraL (15.03.2015)
|
#3
|
||||
|
||||
Цитата:
|
#4
|
||||
|
||||
Цитата:
Цитата:
Динамическое данное Last не будет уничтожено? 2. при выполнении следующего кода: Цитата:
Последний раз редактировалось SpectraL, 04.06.2011 в 10:45. |
#5
|
||||
|
||||
fftop:
по утверждениям Microsoft, ОСи NT и выше после выхода из процесса освобождают занимаемые процессом ресурсы. стоит ли верить бездумно этому утверждению?) Пишу программы за еду. __________________ |