Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1242851404
Юрий
2009-05-21 00:30
2009.07.26
С днем рождения ! 21 мая 2009 четверг


2-1243345827
HF-Trade
2009-05-26 17:50
2009.07.26
Мультиселект в html (multiple в DOM)


2-1243397495
Алексей Иванов
2009-05-27 08:11
2009.07.26
Свойство TTreeView.Parent


15-1243353872
Сергей М.
2009-05-26 20:04
2009.07.26
Москва, 2 июня 2009 года Embarcadero Technologies приглашает


15-1243312932
Palladin
2009-05-26 08:42
2009.07.26
Стандарты построения Web-интерфейса





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