Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.006 c
1-70739
antoniz
2002-07-09 15:02
2002.07.22
Как узнать высоту панели задач Windows


14-70859
Goblinus
2002-06-23 23:42
2002.07.22
Описание формата RTF


3-70578
jen_bond
2002-06-28 01:37
2002.07.22
ОТмена кеширования


7-70935
Gnom
2002-05-01 17:32
2002.07.22
Как наложить семафор?


6-70852
GatesBill
2002-05-12 15:55
2002.07.22
как передать параметры исполняемому файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский