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

Вниз

Очистка памяти   Найти похожие ветки 

 
Zeon ©   (2004-04-02 16:48) [0]

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


 
Reindeer Moss Eater ©   (2004-04-02 16:50) [1]

Обнулить все переменные и присвоить им значения, которые были у них при запуске - две большие разницы.
Не находишь?


 
Digitman ©   (2004-04-02 16:50) [2]

переменная переменной - рознь


 
Digitman ©   (2004-04-02 16:52) [3]

где-там, в "Потрепаться", бродит один хлопчик, некто Ironhawk, так вот он не один год искал ответ на оч похожий вопрос... говорит. что нашел ... ты б попытал его на эту тему


 
YurikGl ©   (2004-04-02 16:53) [4]

Делаешь инициализацию всех переменных в отдельной функции и вызываешь ее по мере надобности


 
PVOzerski ©   (2004-04-02 17:00) [5]

Или часть переменных (только не длинные строки и не дин.массивы) объявить как поля record"а. А потом fillchar"ом его, этот record :^). Но при малейшей неаккуратности с указателями жди утечек памяти.


 
Юрий Зотов ©   (2004-04-02 17:02) [6]

> Zeon ©   (02.04.04 16:48)

Вот ответ на Ваш вопрос в ТОМ виде, в котором Вы его задали:
//Суперпупермегаобнулялка:
ZeroMemory(Pointer(0), High(Cardinal));


А если спрашивать нормально, то ответ такой: напишите процедурку, которая инициализирует нужные переменные - и вызывайте ее, где хотите и сколько хотите.


 
WebError   (2004-04-02 17:15) [7]


> Zeon ©   (02.04.04 16:48)

Кстати, а Зеон пишется так:
XEON :))))


 
WebError   (2004-04-02 17:18) [8]


> Юрий Зотов ©   (02.04.04 17:02) [6]

Разве ZeroMemory((Pointer(0), High(Cardinal)) обнулит все переменные, и причём здесь Pointer(0). Если это правда, то объясните почему так происходит! 8)


 
PVOzerski ©   (2004-04-02 17:27) [9]

>Разве ZeroMemory((Pointer(0), High(Cardinal)) обнулит все переменные, и причём здесь Pointer(0).
Нет, будет Access Violation. Следуй совету YurikGl ©   (02.04.04 16:53) [4] :^)))


 
Anatoly Podgoretsky ©   (2004-04-02 17:34) [10]

Очистить нельзя, можно только запачкать другим.


 
Serginio666   (2004-04-02 17:56) [11]

Исследуй менеджер памяти
http://www.rsdn.ru/article/Delphi/memmanager.xml

Все что есть в нем очищай!!!!!
Ну а стек еще легче, а вот с другими кучами сложнее. Кроме того очистке могут подвергнуться и указатели на выделенные системные ресурся, но если очень хочется то МОЖНО.



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

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

Наверх




Память: 0.49 MB
Время: 0.048 c
3-1079947396
jek_
2004-03-22 12:23
2004.04.18
ADO и ACCESS


14-1080168011
TButton
2004-03-25 01:40
2004.04.18
DirectInput


1-1080732673
СержК
2004-03-31 15:31
2004.04.18
Синхронизация системного времени


1-1080419844
Mishenka
2004-03-27 23:37
2004.04.18
Поиск каталогов


1-1080626373
Goida
2004-03-30 09:59
2004.04.18
Выключение Excel...