Форум: "WinAPI";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизОтследить выгрузку DLL-ки Найти похожие ветки
← →
DJ Kondakov (2008-06-12 10:48) [0]Зравствуйте! Подскажите, как программе, динамически загрузившей DLL-ку (т.е. через LoadLibrary) отследить ее выгрузку (закрытие главной формы в DLL-ке)?
← →
tesseract © (2008-06-12 11:23) [1]Формы и окна в DLL отсутсвуют. Только если эта "dll" на самом деле ActiveX сервер.
← →
DJ Kondakov (2008-06-12 11:30) [2]
> Формы и окна в DLL отсутсвуют.
Кто сказал? В заготовке DLL делаем File - New Form и получаем форму в DLL-ке.
← →
Anatoly Podgoretsky © (2008-06-12 13:30) [3]> DJ Kondakov (12.06.2008 11:30:02) [2]
Теоритически возможно сделать главную форму в ДЛЛ, практически очень, очень сложно и опасно.
← →
Тын-Дын © (2008-06-12 13:54) [4]
> DJ Kondakov (12.06.08 10:48)
Всё же уточни подробнее, что тебе надо.
← →
Поросенок Винни-Пух © (2008-06-12 22:00) [5]Зравствуйте! Подскажите, как программе, динамически загрузившей DLL-ку (т.е. через LoadLibrary) отследить ее выгрузку (закрытие главной формы в DLL-ке)?
с чего это вдруг закрытие какой-то там формы в длл должно привести к выгрузке этой длл?
← →
DJ Kondakov (2008-06-13 09:55) [6]Короче. Программа загружает DLL и выполняет в ней процедуру. В этой процедуре есть код, который создает и показывает размещенную в DLL форму. Необходимо отследить закрытие этой формы, чтобы перешедшая в ждущий режим программа могла завершиться.
← →
Поросенок Винни-Пух © (2008-06-13 13:25) [7]модальная форма. тогда ничего отслеживать не надо.
либо если не модальная, то цикл ожидания флага после show в длл.
тоже ничего отслеживать не надо.
← →
МистерТ (2008-06-13 17:31) [8]
library Library1;
//------------------------------------------------------------------------------
//
// Основная процедура библиотеки
//
// Вызывается когда библиотека загружается в адрессное пространство какого-либо
// процеса или нити
//
// Входные данные:
// dwReason - причина вызова процедуры
//
//------------------------------------------------------------------------------
procedure DllEntry(dwReason: DWORD);
begin
case dwReason of
//--------------------------------------//
// библиотека подключается к приложению //
//--------------------------------------//
DLL_PROCESS_ATTACH:
begin
end;
//-----------------------------------------------------------------//
// библиотека высвобождается из адрессного пространства приложения //
//-----------------------------------------------------------------//
DLL_PROCESS_DETACH:
begin
end;
DLL_THREAD_ATTACH:
begin
end;
DLL_THREAD_DETACH:
begin
end;
end;
end;
//------------------------------------------------------------------------------
//
// Объявление основной процедуры библиотеки
//
//------------------------------------------------------------------------------
begin
@DllProc := @DllEntry;
DllEntry(DLL_PROCESS_ATTACH);
end.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c