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

Вниз

Поток -> DLL -> модальная форма. Как закрыть ее?   Найти похожие ветки 

 
Nicolas_   (2002-04-18 11:16) [0]

В главной программе при нажатии на кнопку SB1 создается поток, который грузит DLL. В ней вызывается функция
procedure PluginExecute(ah: LongWord; cp: TComPort);
begin
OldApp := Application.Handle;
Application.Handle := ah;
FormControl := TFormControl.Create(Application);
with FormControl do begin
ComPort1 := cp;
ShowModal;//главное модальное окно плагина
Free;
end;
Application.Handle := OldApp;
end;

которая показывает модальное окно.
Закрываю его так: жмем снова на SB1, вызывается функция из DLL

procedure PluginClose;
begin
PostMessage(FormControl.Handle, WM_CLOSE, 0, 0);//сообщение
//главному окну плагина
end;

соответсвенно модальное окно закрывается, поток выгружает DLL и завершается. При этом все хоккей.
_НО_ если мы из этого модального окна вызовем другое модальное (например для настройки опций), то при нажатии на кнопку SB1 для выгрузки ничего не происходит. Я понимаю, что сообщение шлется главному окну плагина, а торчит модальное окно опций и пока его не закроешь (окно опций) главное окно не получит сообщений. Посоветуйте пожалуйста, как в этом случае закрывать главное модальное окно плагина?



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
4-2725
Александр_
2002-02-27 19:20
2002.05.02
Вопрос о Звуке.


1-2624
PaRL
2002-04-20 16:58
2002.05.02
ListBox


1-2607
Alexandr (CAV)
2002-04-20 08:11
2002.05.02
Ложное срабанывание двойного клика в rxDbGrid


4-2714
isaveliev
2002-02-27 13:16
2002.05.02
Как отловить факт окончания печати документа


1-2610
Agent Smith
2002-04-15 14:06
2002.05.02
Архивчик





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский