Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
15-1325422003
Димка На
2012-01-01 16:46
2012.05.06
mode в линуксе


15-1325277002
Юрий
2011-12-31 00:30
2012.05.06
С днем рождения ! 31 декабря 2011 суббота


2-1326037158
toropoff
2012-01-08 19:39
2012.05.06
скрол грида


9-1190998222
Snoop_4ok
2007-09-28 20:50
2012.05.06
GLScene


1-1292143528
Дмитрий С
2010-12-12 11:45
2012.05.06
"Заморозить" TWebBrowser на время перезагрузки страницы




   Наверх