Главная страница
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.026 c
9-1065887416
CoderZ
2003-10-11 19:50
2004.04.18
И ещё про PowerDraw...


3-1079447433
Andriy Tysh
2004-03-16 17:30
2004.04.18
Group in DBGrid (DBGridEh)


8-1072338923
olookin
2003-12-25 10:55
2004.04.18
Слушать музыку через удаленный Винамп


1-1080567748
Researcher
2004-03-29 17:42
2004.04.18
LMD Tools Help


14-1079983703
AMogil
2004-03-22 22:28
2004.04.18
Доля рынка, принадлежащая Borland