![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окончание работы DLL [D7, WinXP]
pegucka © (2006-01-25 18:03:00)Добрый день/вечер/ночь.
Из программы запускается DLL со своими формами. Как из основной программы узнать, когда приложение из DLL закончит свою работу? Например, надо узнать, когда оно закончит свою работу и закончить работу основной программы.
Заранее спасибо.
Юрий Зотов (2006-01-28 16:18:00) [1]Мьютексы, семафоры, потоки... абалдеть.
ОК, пусть в DLL сидит некое как бы приложение. Тогда среди его форм есть одна, которая по смыслу является главной. То есть, закрытие этой формы означает завершение работы этого как бы приложения.
Код этой формы писал не Пушкин. Его писали мы. Значит, как и было сказано в [3], ничто не мешает нам, например, отослать из ее обработчика OnClose любое сообщение любому окну в EXE. Или вызвать любую callback-функцию из этого же EXE.
Что и будет искомым сигналом. Какие проблемы?
begin...end (2006-01-28 09:48:00) [2]> TUser © (28.01.06 09:17) [5]
> Создать в длл мьютекс. Или семафор. При выгрузке длл он
> будет освобожден (уничтожен или уменьшится счетчик ссылок).
Ой.
TUser (2006-01-28 09:17:00) [3]Создать в длл мьютекс. Или семафор. При выгрузке длл он будет освобожден (уничтожен или уменьшится счетчик ссылок). Тогда выгрузку dll можно будет отловить в твоем приложении в дополнительном потоке с помощью WaitForSingleObject.
WST (2006-01-28 02:00:00) [4]
Var h: HWND;
begin
h := LoadLibrary('Your.dll')
if h <> 0 then
begin
// do some work
FreeLibrary(h); / освободит длл'ку
Application.Terminate; / авершит приложение
end;
end;
Начинающий10 (2006-01-25 19:13:00) [5]Передать в DLL "какой нибудь" Handle, либо адресок процедуры. И посылать сообщение либо вызывать процедурку в DLL при необходимости.
pegucka (2006-01-25 18:15:00) [6]2Алхимик : очень надеюсь, что Вас устроит формулировка "запускаются функции и процедуры, которые выводят на экран формы".
Алхимик (2006-01-25 18:06:00) [7]А разве из ДЛЛ запускают приложения?
Всегда считал что функции и процедуры...