Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизЕще вопрос по форме в DLL Найти похожие ветки
← →
Alex_C © (2007-04-04 10:37) [0]Создаю форму в DLL :
вот ф-ция инициализации формы в DLL:
function Init( AppHandle: THandle; )
begin
Application.Handle := AppHandle;
ScoreForm := TScoreForm.Create(Application);
ebd;
и далее
procedure ShowForm;
begin
ScoreForm.Show;
end;
При показе формы по отношению к форме в основной проге, форма из DLL становится как бы Stay on top - поверх, хотя должна быть обычной. Почему?
← →
Сергей М. © (2007-04-04 10:40) [1]Потому что передавать нужно не хэндл объекта Application, а ссылку на сам объект Application.
← →
Alex_C © (2007-04-04 13:47) [2]Ок! Заменил!
function Init( App: TApplication )
begin
ScoreForm := TScoreForm.Create(App);
ebd;
Теперь окна работают как надо, а вот при выходе из проги вылезает ошибка доступа к адресу 00000000. Из-за чего?
← →
Сергей М. © (2007-04-04 13:50) [3]function Init( App: TApplication )
begin
Application := App;
ScoreForm := TScoreForm.Create(Application);
eтd;
← →
clickmaker © (2007-04-04 13:52) [4]*.dpr
procedure DLLMain(dwReason: DWORD);
begin
case dwReason of
dll_Process_Attach :;
dll_Process_Detach :
begin
if DllHandle <> 0 then Application.Handle := DllHandle;
end;
dll_Thread_Attach : {Statements here};
dll_Thread_Detach : {Statements here};
end;
end;
begin
DLLProc := @DLLMain;
end.
Unitif DllHandle = 0 then begin
DllHandle := Application.Handle;
Application.Handle := AppHandle; // from EXE
end;
← →
Alex_C © (2007-04-04 13:58) [5]Сергей М. : так не очень хорошо! При завершении работы с DLL основное окно проги самопроизвольно сворачивается.
clickmaker: то что надо! Спасибо!
← →
Сергей М. © (2007-04-04 14:03) [6]
> При завершении работы с DLL основное окно проги самопроизвольно
> сворачивается.
А на место нужно возвращать оригинальный Application перед выгрузкой !
Неужели это так трудно дотумкать самому ?)
← →
Loginov Dmitry © (2007-04-04 20:42) [7]> А на место нужно возвращать оригинальный Application перед
> выгрузкой !
А еще лучше компильнуть все в пакетами, и не заморачиваться на всякие там Application"ы
← →
Amoeba © (2007-04-05 14:49) [8]А еще лучше, вообще не пихать формы в DLL.
← →
_Аноним (2007-04-05 15:08) [9]А еще лучше, вообще не пихать
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c