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

Вниз

"memory hoarding" problem   Найти похожие ветки 

 
jarek   (2009-03-03 17:50) [0]

Hi all,
I have problem with this code:
program FormsTest;

uses
 KOL;

type
 PForm1 = ^TForm1;
 TForm1 = object(TObj)
 Form: PControl;
public
 procedure FrmClick(Sender: PObj);
end;

var
 Form1: PForm1;

procedure NewForm1(var Result: PForm1; AParent: PControl);
begin
 New(Result,Create);
 with Result^ do
 begin
   Form := NewForm(AParent,"Form1").SetSize(320,240);
   Form.OnFormClick := FrmClick;
 end;
end;

procedure TForm1.FrmClick(Sender: PObj);
var
 NewForm: PForm1;
begin
 NewForm1(NewForm,Applet);
 NewForm.Form.Show;
 NewForm.Free;
end;

begin
 Applet := NewApplet("Forms Test");
 NewForm1(Form1,Applet);
 Run(Applet);
end.

Application takes  after start 3108 kB of memory.
When I click on the form, new window opens and application takes more of memory. If I close this new window, the usage of RAM not changes.
If I open 100 new windows, application takes 3376 kB of RAM. If I close all new windows, application still takes 3376 kB of RAM.
Can anybody help me?
Thanks. jarek


 
Дмитрий К ©   (2009-03-03 20:35) [1]

in NewForm1
Form := NewForm( ...
Form.Add2AutoFree(Result);


 
Jon ©   (2009-03-03 22:01) [2]

Also make use of
SetProcessWorkingSetSize(GetCurrentProcess,Cardinal(-1),Cardinal(-1));
at convenient places, such as after freeing form.



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1304706573
Gu
2011-05-06 22:29
2011.08.14
Изменить ресурсную строку во время выполнения и сохранить её


15-1303461362
tesseract
2011-04-22 12:36
2011.08.14
Расчет стоимости владения оборудованием.


1-1261590906
Alex_C
2009-12-23 20:55
2011.08.14
Windows 7 64 bit и SetLength


15-1303475554
OW
2011-04-22 16:32
2011.08.14
Графы. Задачка. Забыл как доказать, не напомните?


15-1303285736
OW
2011-04-20 11:48
2011.08.14
WM_COPYDATA, предел есть на кол-во пересылаемой инф-ции?