Главная страница
    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.47 MB
Время: 0.007 c
2-1243763837
snake-as
2009-05-31 13:57
2009.07.26
Приближение битмапа.


15-1243409989
Skyle
2009-05-27 11:39
2009.07.26
Разобрать PDF в gif постранично.


15-1243262312
@!!ex
2009-05-25 18:38
2009.07.26
Как добавить информацию о версии в С++?


15-1243283277
dis12345
2009-05-26 00:27
2009.07.26
Установка delphi


15-1242745618
@!!ex
2009-05-19 19:06
2009.07.26
Програмно сделать GET запрос веб серверу и получить ответ.





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