Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.026 c
2-1138210666
Proxytel
2006-01-25 20:37
2006.02.12
Обработка события клавиатуры при неактивном окне программы


15-1137780394
DSolodky
2006-01-20 21:06
2006.02.12
Где розместить сервер?


5-1124617599
capkoh
2005-08-21 13:46
2006.02.12
Обновить одновременно?


2-1137989961
Alex_V
2006-01-23 07:19
2006.02.12
Подскажите по join


6-1130934528
seeker
2005-11-02 15:28
2006.02.12
Result := recv(FSocket, Buf, Count, MSG_PEEK);




   Наверх