Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.14;
Скачать: CL | DM;

Вниз

Delphi6 + DLL   Найти похожие ветки 

 
PSERG   (2002-02-26 07:00) [0]

Как я выяснил на практике, разработка DLL в D6 претерпела существенные изменения. Например, если в библиотеке находится окно, то хэндл апликэйшена передавать в длл уже не нужно, все работает само-собой(причем прекрасно). Но! Я на DLL_PROCESS_ATTACH создаю объект, и на DLL_PROCESS_DETACH разрушаю его. Дак вот, как я заметил DLL_PROCESS_DETACH не возникает никогда!(хоть зафрякайся).
Вопрос, КАК БЫТЬ? Мне нужен объект в области глобальных данных длл, создается от без проблемм, как убить его?


 
Fellomena   (2002-02-26 10:33) [1]

Попробуй отобразить свой объект в память (по средствам механизма отображения файлов в память).
Т.е. можно его хранить в области, которую Win32 использует под файл подкачки. Адресс: $FFFFFFFF или DWORD(-1)
А когда тебе надо - просто закрывать отображение.
Но как может не работать PROCESS_DETACH ума не приложу, у меня всроде всё ok, тоже на Delphi6 перешла 8)


 
drpass ©   (2002-02-26 11:00) [2]

У меня тоже все работает. А ты случаем не забыл перебросить адрес входной функции dll в переменную DllProc?


 
PSERG   (2002-02-26 16:39) [3]

Делаю так!
...
procedure DLLEntryPoint(dwReason: DWord);
begin
case dwReason of
DLL_PROCESS_ATTACH: DM:=TDM.Create(nil);
DLL_PROCESS_DETACH: DM.Free;
end;
end;
...
begin
DllProc:=@DLLEntryPoint;
DLLEntryPoint(DLL_PROCESS_ATTACH);
end.

Следил отладчиком, когда делаю FreeLibrary то в DLLEntryPoint даже не попадаю.



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

Текущий архив: 2002.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-42910
volodya_
2002-02-14 09:33
2002.03.14
Как в Qreport выводить в конце каждой страницы сумму значений по странице.


7-43190
Потерянный
2001-12-03 11:24
2002.03.14
Выключение компьютера


14-43145
Феликс
2002-01-28 22:25
2002.03.14
Классификация флеймеров.


3-42925
Termik
2002-02-14 14:07
2002.03.14
Создание алиаса ODBC БД SQL Server из Delphi.


1-43029
alex_dorin
2002-02-26 12:53
2002.03.14
программа декодировки char или AnsiString DOS->Win