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

Вниз

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

 
Nicolas_   (2002-04-18 15:13) [3]

1. Все плагины могут работать одновременно. Для этого используются потоки. Поток заканчивает работу когда выполнит функцию Execute. Чтобы этого не произошло раньше времени, используется модальное окно. Можно конечно делать так:

procedure TPluginThread.Execute;
var PluginExecute: TPluginExecute;
begin
libHandle := LoadLibrary(PN);
try
if libHandle <> 0 then begin
@PluginExecute := GetProcAddress (libHandle, "PluginExecute");
if @PluginExecute <> nil then
PluginExecute(Application.Handle, ComPort1);//это и есть
//вызов окна Show (а не ShowModal)
//если окно не модальное, то сделаем цикл
repeat
//пустой цикл
until (not Terminated);
end;
finally
FreeLibrary(libHandle);
end;
end;

но не знаю, правильно ли это.

2. Чтобы посылать WM_CLOSE модальному окну опций плагина, то надо быть уверенным, что оно существует. Но дело в том, что если окно не существует/не создавалось, то (FormOptions <> nil) = TRUE и даже Assigned(FormOptions) не показывает реальной ситуации. Как быть?



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
1-2541
Yuraz
2002-04-18 11:08
2002.05.02
Поиск, подсчёт, вывод на экр переменных в перловском файле ($var)


3-2443
Бульбаш
2002-04-05 19:22
2002.05.02
Как заполнить список ListBox-а значениями двух полей...???


1-2567
bigcrush
2002-04-19 12:08
2002.05.02
Свойство State в методе-обработчике OnDragOver


3-2477
Pashafess
2002-04-09 05:34
2002.05.02
Перенос данных из одной базы в другую запросом в InterBase 5.x.


1-2519
Анастасия
2002-04-21 10:52
2002.05.02
hint ы в форме облаков