Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Вниз

ShowModal   Найти похожие ветки 

 
Сергей С   (2004-02-01 15:58) [0]

Здравствуйте мастера
Приложение загружает Dll с формой -
приложение:
type
TShowForm = procedure(hApp: THandle);
var
ShowForm: TShowForm;
...
hLib:= LoadLibrary("PROJECT2.DLL");
ShowForm:= TShowForm(GetProcAddress(hLib, "SHOWFORMPROC"));
ShowForm(Application.Handle);
FreeLibrary(hLib);

библиотека:
exports ShowForm name "SHOWFORMPROC";
...
procedure ShowForm(hApp: THandle);
begin
Application.Handle:= hApp;
Form2:= TForm2.Create(Application);
Form2.ShowModal;
Form2.Free;
end;

А как при закрытии "Dll-окна" освободить память, занимаемую объектом
формы и выгрузить Dll, если окно открывается в немодальном режиме.


 
Saracin   (2004-02-01 16:08) [1]

могу посоветовать такую тему:
1. Закрытие окна.
в форме которая в dll , на OnClose делай Action := caFree;
SendMessage(ForminDLL.Parent.Handle,USR_DllFormClosed,0,0);
2. В Главном приложении сделай обработку сообщения USR_DllFormClosed типа if(больше нет окон из этой dll) then FreeLibrary(hLib);

только тебе придется вести список окон созданных из соответствующей dll. и имено пустату этого списка ты проверяешь в вышеуказаном if"e.
если не все окна закрыты и ты сделаешь FreeLibrary, то они соответственно закруются автоматом :)

С Уважением Saracin.



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

Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-29375
Gogi
2004-01-29 10:13
2004.02.10
Как изменить цвет шрифта на кнопках в ToolBar?


4-29668
S@shka
2003-12-04 12:36
2004.02.10
Опять же сообщения


7-29639
DeMoN_Astra
2003-11-21 01:59
2004.02.10
Мышшшь ;)


1-29329
Layner
2004-01-29 09:00
2004.02.10
Формат времени на разных компьютерах (StrToDate)


1-29456
ламер
2004-01-30 16:11
2004.02.10
Господа мастера! Помогите с указателями на процедуры!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский