Главная страница
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.009 c
15-1325447864
Artem
2012-01-01 23:57
2012.05.06
Где можно скачать простой вычислитель арифметических выражений?


15-1325501041
Делфиец
2012-01-02 14:44
2012.05.06
Ищу работу программиста


2-1325708746
cardon
2012-01-05 00:25
2012.05.06
Сортировка StringGrid по времени


15-1325337132
Кто б сомневался
2011-12-31 17:12
2012.05.06
Что означает жест


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