Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.025 c
7-1076520503
ЧимбаБумба
2004-02-11 20:28
2004.04.18
Реестр


14-1080137925
Дремучий
2004-03-24 17:18
2004.04.18
Есть указатель на буфер


1-1080914352
P_a_s_h_a
2004-04-02 17:59
2004.04.18
Как отключить анимацию окна при максимизации/минимизации?


14-1080155355
YurikGl
2004-03-24 22:09
2004.04.18
Центр сертификации


14-1079973271
nikitos
2004-03-22 19:34
2004.04.18
Супер-мупер тихоход!




   Наверх