![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос о странном распределении памяти под приложение. [D6, Win2k]
Бильврёст © (2002-10-07 11:05:00)Здравствуйте.
Вопрос следующий.
Имеется программа, использующая MSAgent.
При создании формы:
begin
Application.Initialize;
Application.ShowMainForm:=False;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Агент грузится и отображается на экране.
При этом моя прога занимает в памяти около 3.5 Mb;
Если затем делаю:
Form1.Visible:= True;
Application.ShowMainForm:= True;
т.е. показываю форму, то программа занимает уже 6 Mb.
А теперь внимание:
минимизмрую форму и (!!!) программа занимает 300 - 600 kb!
Затем опять востанавливаю (restore) и прога занимает уже 1.6 Mb (а не 6 Mb, как это было при её показе в первый раз)!
Сворачиваю - опять 300-600 kb.
Если при востановленной форме создаю в Run-Time TTable, TSession И TDataSource, то
памяти занимает 1.3 Mb, а при свёрнутой форме и созданными в Run-Time объектами -
вообще не более 350 kb. При этом пиковое значение занимаемой приложением памяти, порою, достигает 8 Mb.
Объясните в чём дело и как изначально при загрузке агента уменьшить кол-во занимаемой памяти (как это происходит после отображения и свёртывания формы).
Бильврёст (2002-10-08 09:58:00) [21]up to top
Бильврёст (2002-10-07 13:10:00) [22]2 Smart © (07.10.02 11:27):
Ха! Да я так и делал - фигушки. Если Application.ShowMainForm:=False; то Application.Minimize, Application.Restore ничего не меняет.
У кого-нибудь есть ещё идеи?
Smart (2002-10-07 11:27:00) [23]Почему не знаю.
Но если это уж так беспокоит - сделай тупо:
при загрузке - Application.Minimize, Application.Restore,
ну и исходя из вышесказаного будешь иметь свои 1.6 Мб :)