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

Вниз

DLL_DETACH   Найти похожие ветки 

 
JS   (2003-08-29 11:06) [0]

Как в DLL-проекте отработать деаттач dll-файла?

Заранее благодарен.


 
Skier ©   (2003-08-29 11:11) [1]

см. ExitProc + DLL_PROCESS_DETACH

P.S. Кстати, уже выяснилось что здесь может иметь место ошибка Borland-a
в модуле System.


 
Digitman ©   (2003-08-29 11:14) [2]


> Как в DLL-проекте отработать деаттач dll-файла


а кто тебя заставляет его обрабатывать ?


 
KSergey ©   (2003-08-29 11:19) [3]

Если верить Тейксерре с Печеко, то для этого надо написать примерно следующее (исп. глобальная переменная DllProc из какого-то модуля, искать не охота из какого). По этому поводу пример у них такой приведен (я несколько сократил, все набивать лень):

library Dll1
uses
sysutils, windows, classes;

procedure DllEntryPoint (dwR: DWord);
begin
case dwR of
DLL_PROCESS_ATTACH: ...
DLL_PROCESS_DEATTACH: ...
DLL_THREAD_ATTACH: ...
DLL_THREAD_DEATTACH: ...
end;
end;

begin
// сначала назначим процедуру
DllProc := @DLLEntryPoint;
// теперь вызовем эту процедуру для отображения того, что DLL присоеденена к процессу
// т.к. в первый раз этого не происходит - процедура еще не назначена и вместо этого вызывается 1 раз блок begin/end.
DllEntryPoint(DLL_PROCESS_ATTACH);
end.


Комментарии - из книги. Курсивный - мой.
За опечатки извиняюсь, думаю понятно что к чему.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
3-33459
SPIRIT
2003-08-20 15:04
2003.09.11
Ошибочный аргумент


1-33645
lipskiy
2003-08-30 19:53
2003.09.11
Не работает копирование в буфер!


7-33834
Morfey
2003-06-28 02:11
2003.09.11
Процессы,


14-33722
sasami737
2003-08-21 17:57
2003.09.11
Как сделать критический процесс ?


3-33483
sash2
2003-08-20 13:21
2003.09.11
Проблема с переносом 3.