Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
ВнизService Найти похожие ветки
← →
Fiend (2002-07-09 18:21) [0]В сервисе на Событие OnStart пытаюсь загрузить свою же библию через LoadLibrary. Не грузит. Выяснил, что GetLastError возвращает "Не найден указанный модуль.". Причём указан полный путь к ней.
В обычном приложении без базара гружу ее.
Что делать???????????????
← →
Skier (2002-07-09 18:25) [1]>Fiend
А что если код показать ?
← →
Fiend (2002-07-09 18:28) [2]базара нема.
это собсно обработчик события:
procedure TCRService.ServiceStart(Sender: TService; var Started: Boolean);
begin
StartServer;
end;
а это то что он вызывает:
procedure StartServer;
var Reg: TRegIniFile;
Msg: PChar;
begin
if CommunicationThread<>nil then exit;
Reg:= TRegIniFile.Create;
Reg.OpenKey("CRS", true);
ConnectionString:= Reg.ReadString("CRS","ConnectionString","");
Reg.Free;
if Connections=nil
then Connections:=TList.Create;
if hResourcesLibrary=0
then hResourcesLibrary:=LoadLibrary("D:\CR\CRResources\CRResources.Dll");
if hResourcesLibrary=0
then begin
Msg:= AllocMem(65535);
formatmessage(FORMAT_MESSAGE_FROM_SYSTEM,nil,GetLastError,0,Msg,100,nil);
CRService.LogMessage("
← →
Skier (2002-07-09 18:34) [3]>Fiend
Где ты вызываешь FreeLibrary ?
И в каком месте генерится ошибка ?
← →
Fiend (2002-07-09 18:41) [4]FreeLibrary вызывается в другой процедуре, которая вызывается при остановке сервиса, след., когда сервис работает библия подгружена напостой.
Как таковой Exception не происходит. Я после загрузки библии, проверяю ее Handle на ноль (if hResourcesLibrary=0
), т.е. анализирую, загрузилась ли она.
И выясняется что она не загрузилась. тогда выполняю следующее:
Msg:= AllocMem(65535);
formatmessage(FORMAT_MESSAGE_FROM_SYSTEM,nil,GetLastError,0,Msg,100,nil);
CRService.LogMessage("
← →
Skier (2002-07-09 18:45) [5]>Fiend
А что если проверить
if FileExists("D:\CR\CRResources\CRResources.Dll") then ...
Будет FileExists находить библиотеку или нет ?
← →
Fiend (2002-07-09 18:48) [6]
> А что если проверить
> if FileExists("D:\CR\CRResources\CRResources.Dll") then
> ...
В натуре не нашёл.
Но она там есть!!!!!!!!!!!!!!!!!
как же так
← →
Fiend (2002-07-09 18:53) [7]отэто лажанулся я с путём3145245нцкеруенрй24кап
надо то ведь D:\CR\CRResources\Release\CRResources.Dll"
СПОС. Извини что отнял время
← →
Skier (2002-07-09 18:53) [8]>Fiend
Если ты уверен что она там есть, то попробуй так :
if FileExists(UpperCase("D:\CR\CRResources\CRResources.Dll")) then ...
← →
Fiend (2002-07-09 18:55) [9]отэто лажанулся я с путём3145245нцкеруенрй24кап
надо то ведь D:\CR\CRResources\Release\CRResources.Dll"
СПОС. Извини что отнял время
← →
Skier (2002-07-09 18:56) [10]>Fiend
Бывает :))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c