Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.01.04;
Скачать: [xml.tar.bz2];

Вниз

Служба не работает под 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.025 c
11-1256374907
Dy1
2009-10-24 13:01
2015.01.04
64 бита


11-1256404378
Инна
2009-10-24 21:12
2015.01.04
"Деревянный" листвью


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


2-1386078588
Darvin
2013-12-03 17:49
2015.01.04
Добавление элементов в TChart


15-1402429302
Ice_hockey_player
2014-06-10 23:41
2015.01.04
Быстро понимать SQL-запросы





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