Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибки при запуске сервиса [D6, WinXP]


Страницы:   1 2

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-приложение


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо