Главная страница
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.006 c
15-1325228984
ЛЕГЕНДА
2011-12-30 11:09
2012.05.06
клик мышью при определенном событии


2-1325802985
Дмитрий
2012-01-06 02:36
2012.05.06
Scheduler


15-1325149872
ЛЕГЕНДА
2011-12-29 13:11
2012.05.06
клик мышкой при наведение на врага


2-1325846321
Марат
2012-01-06 14:38
2012.05.06
Как открыть лист Excel


2-1325750154
Anthony
2012-01-05 11:55
2012.05.06
Компонент - ссылка на интернет адрес