![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибки при запуске сервиса [D6, WinXP]
Slaga © (2006-01-11 11:21:00)Такая проблема, написал такой сервис который запускает некое предложение как:
Application.CreateForm(TDM, DM);
if DM.OracleSession.Connected then
begin
Application.CreateForm(TfmMain, fmMain);
try
fmMain.ShowModal; //Открытие формы
fmMain.acStartServer.Execute;// Запуск работы
except
on E:Exception do
begin
ShowMessage(E.Message);
fmMain.Close;
end;
end;
end;
при запуске сервиса какstart ScaleSrvSrv.exeвсе работает, но если его запускать через Службы-Запуск, то вроде тоже запускается но через определенный таймаут выдает ошибку:
Не удалось запустить службу Scale Server Service на Локальный компьютер.
Ошибка 1053: Служба не ответила на запрос своевременно.
Подскажите пожалуйста в чем может быть дело.
Digitman (2006-01-11 12:49:00) [21]
> все дело было в CoInitialize(nil)
Тогда непонятно, как твой сервис при этом вообще работал, будучи запущенным средствами net start ..
> fmMain.acStartServer.Execute;// Запуск работы
Что у тебя происходит при этом ?
slaga (2006-01-11 12:43:00) [22]ну вообщем то я согласен что так надо, просто уже есть кое что сделано "вот так" а времени на перделку нет ...
ну вообщемто проблему я уже решил
все дело было в CoInitialize(nil)
тоесть сервис не стартовал потому что не могло проинициализироваться АДО, которое я проинициализировал сам...
Digitman (2006-01-11 12:27:00) [23]
> Leonid Troyanovsky © (11.01.06 12:26) [6]
> Это в пределах одного десктопа
Это подразумевалось.
Не суть как важно на дан.этапе рассмотрении вопроса.
Leonid Troyanovsky (2006-01-11 12:26:00) [24]
> Digitman © (11.01.06 12:01) [5]
> . в пределах одной и той же раб.станции под упр-ем Windows
> простейший инф.обмен можно организовать и средствами механизма
> оконных сообщений
Это в пределах одного десктопа.
Т.е., лучше уж через mmf.
--
Regards, LVT.
Digitman (2006-01-11 12:01:00) [25]Это не так делается.
Пишется отдельно приложение-сервис и отдельно GUI (или консольное) приложение-монитор для контроля/управления работой сервиса.
Взаимодействие между этими двумя приложениями организуется, например, средставами именованых программных каналов (в случае ЛВС) либо, например, с использованием одного из протоколов в составе TCP/IP-стека протоколов (в случае глоб.сети) .. в пределах одной и той же раб.станции под упр-ем Windows простейший инф.обмен можно организовать и средствами механизма оконных сообщений
slaga (2006-01-11 11:49:00) [26]Мне нужно, что б у сервиса была возможность визуального управления
Digitman (2006-01-11 11:45:00) [27]ну и зачем сервису формы ? да еще и модальные ?
Slaga (2006-01-11 11:33:00) [28]описанное выше вызывается в TService в событии ServiceCreate
Digitman (2006-01-11 11:28:00) [29]
> написал такой сервис
не сервис ты написал, а обычное GUI-приложение