Форум: "Основная";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
ВнизDLL_PROCESS_DETACH / DLL_PROCESS_ATTACH Найти похожие ветки
← →
AlexandrR (2002-09-04 22:51) [0]Привет всем!
У меня проблема.
Переопределяю я DLLProc и пытаюсь ловить subj. И вроде делаю стандартно, но все-таки ничего не ловится. DllEntryPoint вызывается, но со значениями где-то ~1000-2000.
Вот кусок кода:
procedure DLLEntryPoint(dwReason: Integer); stdcall;
var hThread:THandle;
thrID:Cardinal;
begin
case dwReason of
DLL_PROCESS_ATTACH: Begin // On load
DLL_PROCESS_DETACH: Begin// On UnLoad
End;
end;
end;
/////////////////////////////////////////////////////////////////
begin
DLLProc:= @DLLEntryPoint;
DLLEntryPoint(DLL_PROCESS_ATTACH);
end.
Делаяю на VC++ - все работает как надо
← →
Almaz (2002-09-05 02:04) [1]Убери stdcall в объявлении процедуры DLLEntryPoint.
Удачи.
← →
Ученик (2002-09-05 08:37) [2]>Almaz © (05.09.02 02:04)
И от меня спасибо, угороздало же меня скопировать из той ветки в "Полезное" :-)
← →
Ученик (2002-09-05 09:37) [3]>Almaz © (05.09.02 02:04)
И от меня спасибо, угораздило же меня скопировать из той ветки в "Полезное" :-)
p.s опечатки, сорри
← →
Старый Паскалист (2002-09-05 10:47) [4]В качестве DllEntryPoint в паскале всегда выступает
ф-я _InitLib из sysinit.pas.
А DllProc - процедура, к-рую она из себя вызывает.
Причём так как DllProc назначается в рантайме (когда ДЛЛ уже загружена), то DLL_PROCESS_ATTACH ты никогда через DllProc не поймаешь.
← →
Digitman (2002-09-05 11:06) [5]факт вызова блока инициализации модуля вполне можно интерпретировать как DLL_PROCESS_ATTACH или DLL_THREAD_ATTACH (в зависимости от код.потока, вызвавшего LoadLibrary : в случае основного - DLL_PROCESS_ATTACH , в случае дополнительного - DLL_THREAD_ATTACH)
← →
AlexandrR (2002-09-05 22:20) [6]Всем спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c