|
Вопрос # 4 395/ вопрос открыт / |
|
Здравствуйте, эксперты!
Из программы загружаю библиотеку (dll). потом ее удаляю. Но при этом теряется памяти 4к. Подключил модуль поиска утечки память - выдает TThemeServices. Подскажите где я что не уничтожаю или забыл.
Приложение: Переключить в обычный режим-
- NewForm:TForm;
- GetNewForm: function (App:THandle):Pointer;stdcall;
- public
- cLibHandle: THandle;
-
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- if newForm<>nil then
- begin
- NewForm.Close;
- NewForm.Free;
- NewForm:=nil;
- FreeLibrary(cLibHandle);
- GetNewForm:=nil;
- end;
-
- cLibHandle:=LoadLibrary(namedll);
- if cLibHandle>=32 then
- begin
- @GetNewForm:=GetProcAddress(cLibHandle,'GetNewForm');
- if @GetNewForm<>nil then
- begin
- NewForm:=TForm(GetNewForm(Application.Handle));
- end;
- if NewForm<>nil then
- begin
- NewForm.ParentWindow:=Panel1.Handle;
- NewForm.Show;
- end;
- end;
- end;
-
-
-
- function GetNewForm(App:THandle):Pointer;stdcall;
- begin
- ReportMemoryLeaksOnShutdown:=true;
-
- Application.handle:=App;
- if not assigned(Form2) then
- Form2:=TForm2.Create(Application);
- result:=Form2;
- end;
-
- procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- action:=caFree;
- Form2:=nil;
- end;
-
 |
Вопрос задал: res-res (статус: Посетитель)
Вопрос отправлен: 8 июля 2010, 13:13
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 8 июля 2010, 21:42; участников в обсуждении: 1.
|
Вадим К (статус: Академик), 8 июля 2010, 21:42 [#1]:
Как бы это странно не звучало, но уберите форму с dll. Им там не место и они не всегда корректно отрабатывают. Нужны формы - используйте bpl.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|