Вниз
Скачать: 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-69248
iguana
2002-11-11 19:31
2002.11.21
Sender...


1-69286
Mi
2002-11-12 09:31
2002.11.21
Работа в Delphi с БД Access


4-69639
Иван
2002-10-11 10:24
2002.11.21
Перехват копирования/перемещения файла


1-69331
Gogi
2002-11-12 00:18
2002.11.21
Установка компонентов


1-69322
VJar
2002-11-12 17:30
2002.11.21
Проверка правильности типизованого файла




   Наверх