Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.01.04;
Скачать: CL | DM;

Вниз

Служба не работает под Win7   Найти похожие ветки 

 
[ВладОшин] ©   (2013-12-13 17:06) [0]

дайте пинка в сторону,
почему может служба, которая запускается и работает на XP,
не запускаться на 7

На XP запускается, пишет в Eventlog. Да и дальше работает нормально
т.е. один exe копирую на обе машины, инсталю, на XP нормально, под 7 - никак.

delphi 7

Не выполняется даже первая строка
TServiceDvbt = class(TService)

procedure TServiceDvbt.ServiceStart(Sender: TService; var Started: Boolean);
begin
 ToLog("Service DVBT Starting..");


 
sniknik ©   (2013-12-13 20:14) [1]

не работает функция ToLog ?  ко всему остальному. прав нет?


 
Германн ©   (2013-12-13 22:38) [2]


> Не выполняется даже первая строка

Забавно звучит.
А это разве самая первая строка, если разговор идет об отладчике?


 
[ВладОшин] ©   (2013-12-14 01:28) [3]


> не работает функция ToLog ?

не знаю.
Но когда я ее копирую в оконное приложение, она работает. В лог пишется.

И весь сервис суть - запустить поток, ловить и логировать от него мссаджи -
так этот поток запускается, если в оконном приложении его вставить и работает

И весь сервис работает на XP, повторюсь

> один exe копирую на обе машины, инсталю, на XP нормально,
>  под 7 - ника

под 7 не работает также,  если почти все закомментирую и оставлю только
procedure TServiceDvbt.ServiceStart(Sender: TService; var Started: Boolean);
begin
Started := true;
end;

UAC отключил
админ


> Германн ©   (13.12.13 22:38) [2]

не понял твоего тонкого юмора
я так написал про первую строку, т.к. это самая первая осебятина. До нее все стандартно.
На XP, где нормально  работает, первая строка в логе после запуска - именно эта запись о начале старта службы


 
[ВладОшин] ©   (2013-12-14 01:33) [4]

даже вот так - не работает.
Индикатор о запуске бежит, бежит, и - все..

type
 TServiceDvbt = class(TService)
   procedure ServiceExecute(Sender: TService);
   procedure ServiceStart(Sender: TService; var Started: Boolean);
   procedure ServiceStop(Sender: TService; var Stopped: Boolean);
 private      { Private declarations }
 public       { Public declarations }
   function GetServiceController: TServiceController; override;
 end;

var
 ServiceDvbt: TServiceDvbt;

implementation
{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 ServiceDvbt.Controller(CtrlCode);
end;

function TServiceDvbt.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure TServiceDvbt.ServiceExecute(Sender: TService);
begin
while not(Terminated) do
  ServiceThread.ProcessRequests(true);
end;

procedure TServiceDvbt.ServiceStart(Sender: TService; var Started: Boolean);
begin
 Started := True;
end;

procedure TServiceDvbt.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
 Stopped := True;
end;


 
[ВладОшин] ©   (2013-12-14 01:36) [5]

В чем еще засада - не понимаю, как отладить. Как ошибку получить?
Я б ее логгировал - так не запускается ж вообще..


 
sniknik ©   (2013-12-14 11:16) [6]

отлаживать нужно либо подключаться к процессу (в инете есть описания), либо "выкручиваться" :), я вот постоянно делаю службу "в одном флаконе" с гуевой программой... отлаживать логику проще в ней.

> И весь сервис работает на XP, повторюсь
повторюсь - права. хр меньше защищается и потому больше позволяет. под 7ку писать нужно более... грамотно... осмотрительно...

> так не запускается ж вообще..
вот тут ты врешь...
раз бежит -
> Индикатор о запуске бежит, бежит, и - все..
значит программа запустилась, а от службы нет ответа.

первая строка программы, в dpr - begin (там же Application.Run; до которого утебя возможно не доходит), но есть еще код модулей в их инициализациях.


 
[ВладОшин] ©   (2013-12-14 13:12) [7]


> повторюсь - права.

да, наверное..
Уже на некоторые серваки не могу заходить, смотрю..
зы
Я тут увольняюсь,  дорабатываю последние времена..
Хотелось подчистить хвосты, а то придет психически неуравновешенный маньяк, а адрес мой в ОК есть :)


 
[ВладОшин] ©   (2013-12-14 13:15) [8]

да,
а дома все работает, тоже 7ка


 
[ВладОшин] ©   (2013-12-14 14:54) [9]

блин..Все понял
Скопировал домой код с работы - и дома не работает

короче,
В одном модуле другой модуль и там инициализация не правильная, для окна когда делал, не убрал..А модуль из uses так и не потер.

Ладно, ступил, всем спасибо! :)


 
[ВладОшин] ©   (2013-12-14 15:16) [10]

И опять ступил
А как же тогда у меня дома заработало?!

Все, теперь точно, нашел!
Когда  первый раз поставил службу - забыл дать ей имя, осталась она Service1
Потом имя поменял.
А ОС, когда запускает, ждет же Service1 что ей ответит (наверное так)

1. Деинсталлировал службу
2. cmd -> sc delete Service1
3. Инсталлировал

И все работает :)

А дома заработала, потому что не инсталлировал до этого под именем Service1, а сразу под переделанным


 
Inovet ©   (2013-12-14 16:44) [11]

> [10] [ВладОшин] ©   (14.12.13 15:16)
> Service1

Вот она сущность автоименованного зла.


 
[ВладОшин] ©   (2013-12-15 10:32) [12]

да, а я уж все перебрал, с паники то :)
Модераторам - Прошу прощения "за бложик" :)



Страницы: 1 вся ветка

Текущий архив: 2015.01.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.004 c
15-1402000203
Юрий
2014-06-06 00:30
2015.01.04
С днем рождения ! 6 июня 2014 пятница


15-1401457869
ВладОшин
2014-05-30 17:51
2015.01.04
Как трансформировать таблицу? (sql)


15-1401782070
sniknik
2014-06-03 11:54
2015.01.04
Сервис + USB устройство = проблема?


15-1401786497
Ice_hockey_player
2014-06-03 13:08
2015.01.04
Delphi and Informix


15-1402345803
Юрий
2014-06-10 00:30
2015.01.04
С днем рождения ! 10 июня 2014 вторник