Главная страница
    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.004 c
6-70846
Alibaba
2002-05-13 17:25
2002.07.22
Как послать сообщение на другой комп?


1-70751
Loco
2002-07-07 17:40
2002.07.22
Исключения


1-70696
ripp
2002-07-11 02:49
2002.07.22
Помогите разобратся с WinExec ом


14-70884
cpp
2002-06-25 09:36
2002.07.22
Нужен компонент для работы с графикой (или алгоритмы)


6-70841
mrcat
2002-05-13 13:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский