Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
Внизсобытие DLL_PROCESS_ATTACH в Dll на Delphi Найти похожие ветки
← →
sndanil (2003-06-06 10:24) [0]Собственно это и есть вопрос, а то во первых пример в хелпе не рабочий, во вторых когда его чинишь, то приходит тока DLL_THREAD_ATTACH ... заранее спасибо всем ответившим ...
← →
Digitman (2003-06-06 10:33) [1]покажи код
← →
Внук (2003-06-06 10:34) [2]Все-таки это не вопрос :))
← →
sndanil (2003-06-06 10:45) [3]library Test;
var SaveExit: procedure (Reason: Integer);
procedure LibExit(Reason: Integer);
begin
if Reason = DLL_PROCESS_ATTACH then
begin
end;
SaveExit(Reason);
end;
begin
SaveExit := DllProc; // save exit procedure chain
DllProc := @LibExit; // install LibExit exit procedure
end.
← →
sndanil (2003-06-06 10:46) [4]в общем то подобный код приведен в хелпе в разделе Library initialization code ... тока он даже не компилится :) ...
← →
Skier (2003-06-06 10:51) [5]
> тока он даже не компилится :) ...
И что ?! Даже ничего не пишет ?
← →
reonid (2003-06-06 11:35) [6]На самом деле в Дельфях точкой входа в длл является
ф-я Sysinit.@InitLib.
Из неё делается вызов ф-и DllProc.
Но Sysinit.@InitLib вызывается с флагом DLL_PROCESS_ATTACH до того, как будет выполнен инициализационный код ДЛЛ {begin end},
то есть до того, как ты установил свою DllProc.
Решением этой проблемы является непосредственный вызов
процедуры с флагом DLL_PROCESS_ATTACH:
begin
..
SaveExit(DLL_PROCESS_ATTACH);
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c