Текущий архив: 2006.02.12;
Скачать: CL | DM;
ВнизНепонятности с Service application & DLL Найти похожие ветки
← →
Чапаев © (2005-12-02 10:17) [0]Delphi 2005, WinXP SP2.
Создаю проект Service Application. В обработчик события OnStart сервиса вставляю такой код: Lib:=LoadLibrary("my.dll"). При завершении работы сервиса вываливается ошибка 0xeefade (кажется, так), если в dll есть хоть одна экспортируемая функция. Если же загружать библиотеку с помощью LoadLibraryEx() с третьим параметром DONT_RESOLVE_EXTERNALS, то ошибки при завершении не возникает.
В чём тут дело?
← →
BiN © (2005-12-02 10:21) [1]код длл в студию
← →
Чапаев © (2005-12-02 11:11) [2]
library My;
function Func:Cardinal;stdcall; //stdcall понадобится в реальной библиотеке, потому и в тестовой я его прописал
begin
Result:=0;
end;
exports
Func;
end.
← →
Digitman © (2005-12-02 11:52) [3]код сервиса - сюда же ..
← →
BiN © (2005-12-02 11:52) [4]Интересует вот-что:
1) как ведет себя обычное приложение при загрузке той же длл
2) есть ли и что именно в DllMain библиотеки
3) какие модули используются в библиотеке
4) вас ист дас - DONT_RESOLVE_EXTERNALS (может путаешь DONT_RESOLVE_DLL_REFERENCES)
← →
Чапаев © (2005-12-02 12:40) [5]
> код сервиса - сюда же ..
Обычный Service Application. В обработчик OnStart внесена одна строчка. Других изменений в коде нету. FreeLibrary в OnStop проблему не решает.
> есть ли и что именно в DllMain библиотеки
Ничего нету. По крайней мере, я туда ничего не вписывал.
> какие модули используются в библиотеке
В тестовом примере -- никаких...
> может путаешь
Да, действительно путаю. Таки DONT_RESOLVE_DLL_REFERENCES. Вот именно DONT_RESOLVE_DLL_REFERENCES и снимает проблему.
Страницы: 1 вся ветка
Текущий архив: 2006.02.12;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.043 c