Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с деактивизацией dll. [D6, Win2k]


SVM ©   (2002-10-09 00:15:00) 

Народ, подскажите почему не работает код при деинициализаци 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-10 12:17:00) [1]

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

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


Ihor Osov'yak   (2002-10-10 01:09:00) [2]

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


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

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


SVM   (2002-10-09 12:12:00) [4]

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


paul_shmakov   (2002-10-09 01:31:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо