Вниз
Скачать: CL | DM;

Проблема с деактивизацией dll.   Найти похожие ветки 

 
SVM   (2002-10-09 00:15) [0]

Народ, подскажите почему не работает код при деинициализаци dll и как исправить это.

Код примерно такой:

library MyDll;

uses
Windows, Messages;

{здесь описаны какие функции, процедуры}

procedure DLLEntryPoint(dwReason: DWORD); stdcall
begin
case dwReason of
DLL_PROCESS_ATTACH:
begin
{здесь мы что-то инициализируем}
end;
DLL_PROCESS_DETACH:
begin
{а вот здесь ничего не хочет выполняться, ПОЧЕМУ?!}
end;
end;
end;

exports {какие-то функции, процедуры};

begin
DllProc := @DLLEntryPoint;
DllEntryPoint(DLL_PROCESS_ATTACH);
end.


 
paul_shmakov ©   (2002-10-09 01:31) [1]

1) насколько я помню, DllProc не является stdcall. так что stdcall нужно убрать.
2) у вас delphi 6 без второго service pack. совсем недавно такая же проблема была у QymL. там ошибка в процедуре _StartLib из system.pas.


 
SVM   (2002-10-09 12:12) [2]

Да, действительно, у меня DELPHI 6 без сервис паков, а по поводу stdcall, я пробовал и без него.


 
SVM   (2002-10-10 00:16) [3]

А что если откомпилировать по DELPHI 5?


 
Ihor Osov'yak ©   (2002-10-10 01:09) [4]

По древности вспоминаю, имел похожую траблу. Сабж случался, когда длл выгружалась в другом потоке, чем загружалась. Но это происходило лишь при аварийном завершении программы. (дело было в d5 с сервис паками)


 
paul_shmakov ©   (2002-10-10 12:17) [5]

2 SVM:
" А что если откомпилировать по DELPHI 5?"

все будет работать. только лучше на delphi 6 второй service pack поставить. и stdcall нужно убрать - не нужен он там.



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.011 c
1-69376
Ученик
2002-11-10 12:23
2002.11.21
31 число в какой декаде


14-69582
Dimedrol
2002-11-01 14:53
2002.11.21
Compaq Presario Win98 install problem


4-69619
progger
2002-10-10 12:19
2002.11.21
Помогите с хуками...


3-69128
wman
2002-11-04 12:48
2002.11.21
Параметр на имя алиаса


3-69200
Yarus
2002-11-01 10:28
2002.11.21
Одновременный запуск




   Наверх