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

Вниз

dllmain vs init-final   Найти похожие ветки 

 
Gu   (2012-01-08 14:59) [0]

есть ли смысл в dll связываться с конструкцией инициализасии в dpr

begin
DllProc := @DllMain;
DllMain (DLL_PROCESS_ATTACH) ;
end;

если проще подключить юнит и инициализацию и завершение библиотеки производить в

initialization
DllInit;
finalization
Dllfinal;
end.

? Имеею ли эти способы большие отличия?


 
Dimka Maslov ©   (2012-01-08 15:17) [1]

Модулю должно быть глубоко индиферрентно, куда он подключён (на всякий случай есть IsLibrary). При этом в системные переменные лезть нужно тогда и только тогда, когда знаешь к чему это приведёт. Секции же initilization и finalization предназначены именно для того, в честь чего они названы. Внимание, вопрос! На кой надо вместо них городить огороды?


 
Rouse_ ©   (2012-01-08 15:27) [2]


> DllProc := @DllMain;
> DllMain (DLL_PROCESS_ATTACH) ;

Данная конструкция применяется только в тех случаях, когда нужно контролировать DllProc. Обычно в случаях хуков, когда необходимо получить уведомление о подгрузке/выгрузке библиотеки. А отправка DLL_PROCESS_ATTACH (при получении которого выполняется некая инициализация) производится из-за того, что данное сообщение уже было отправлено в DllProc до ее подмены на DllMain


 
RWolf ©   (2012-01-08 19:02) [3]

С DllMain связано много тонкостей, лучше её не использовать.



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1325001832
Pavia
2011-12-27 20:03
2012.05.06
Как проще?


2-1325856082
Gu
2012-01-06 17:21
2012.05.06
messagebox


15-1325234614
xayam
2011-12-30 12:43
2012.05.06
Поиск максимального количества равноудалённых битов


4-1256386078
GreyWolf
2009-10-24 16:07
2012.05.06
Аналог GetExceptionInformation в Delphi


4-1256757673
istok20
2009-10-28 22:21
2012.05.06
uac и автозагрузка...