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

Вниз

Service   Найти похожие ветки 

 
Лана Розанова   (2003-05-13 09:00) [0]

Где найти как написать сервис приложение и как его прописать в системе (чтобы работало)?
СПАСИБО!!!


 
evg28   (2003-05-13 09:28) [1]

Вот хороший примерчик сервиса на API-функциях
http://delphi.mastak.ru/download/987.zip


 
zom   (2003-05-13 10:21) [2]

Я сам учился писать сервисы по хелпу в Delphi6 .
Создал для начала новое проложение-сервис (есть там такое) а потом по всем возможным поводам нажимал Ф1 ;-)

ну вообщето все получается весьма неплохо (мой первый сервис работает уже три месяца без проблем - синхронизирует сетевые и локальные папки и заданном направлении с проверкой, вообщет это можно делать шедулером и батником, но сервис работает даже если я незалогинен или залогинен не я)

а сейчас я пишу помаленьку мини-файрвольчик (неплохо работает но мало может пока), но там другие вопросы возникают... я их в разделе Сети задаю, но ответов нету..

вот тока как его зарегить в системе правильно - я не знаю и использую прогу SRVINSTW.EXE (где взял не помню, возможно в местной кладовке) прога халявная и очень проста.

А хотелось бы знать, как бы написть такой инсталлер, который бы мой сервис ставил сам...


 
Карелин Артем   (2003-05-13 10:30) [3]

А можно запусть сервис с ключом Install....


 
Лана Розанова   (2003-05-13 10:33) [4]

А как из под Delphi? Я делаю простенькую программу. При запуске сервис не переходит в режим "Работает". Служба выдает ошибку, что мол нет ответ аот сервиса. В чем может быть проблема?


 
Карелин Артем   (2003-05-13 10:38) [5]

Для отладки делать в виде приложения, потом установить...


 
Лана Розанова   (2003-05-13 10:55) [6]

>потом установить... КАК?
SRVINSTW.EXE пробовала, что-то не так работает.


 
Ihor Osov'yak   (2003-05-13 10:58) [7]

D6: File/New/Other, tab New, два щелщка по пиктограмме Service..

... Смотрим на обработчик OnStart, жмем f1 и читаем примерно следующее: установите переметр Started в true, если есть желание, чтобы сервис запустился..

> zom © (13.05.03 10:21)

Если для написания сервиса использовался делфийский визард - запусти екзешник с ключем /install;

если есть желание инсталятор - см. в сторону OpenSCManager, CreateService ...


Зы - а отладка сервисов, это вообще песня...


 
zom   (2003-05-13 13:36) [8]

Кстати про отладку сервисов - я так понимаю дебаггер дельфей вообще подключить нельзя (я сам много чего пробовал в параметры запуска прописывать типа net start myservice - ни какого эффекта, а приаттачиться к уже запущеному сервису - тоже безполезно)...
Мастера, поделитесь опытом, кто как отладкой занимался?
делать сначала прилагу а после отладки в сервис - не то.. принципиальные ошибки именно в сервисе (например не коннектится к MsSQL серверу, хотя пока был прилагой коннектился)

2 Лана Розанова:
а что не так работает если использовать SRVINSTW.EXE?
Ты главное в обработчик ServiceStart добавь
Started:=true ;
а в ServiceStop
Stopped:=true;

и все должно заработать... (ну исключая глюки кода)
а! еще имя сервиса при установке надо прописать то что в MyService.Name написано.

2 Ihor Osov"yak :
Я так понял OpenSCManager, CreateService - винапишные функции и ими то я и установлю сервис в систему... спасибо :) как нить попробую на досуге... а сам ты как сервисы устанавливаешь?




 
evvcom   (2003-05-13 14:16) [9]


> Кстати про отладку сервисов

Сам не отлаживал (не писал) сервисы, но насколько мне известно, круче SoftIce отладчика нет. Отлаживает все, что угодно. Тем более здесь самописный код (в отличие от того, с чем приходится иметь дело мне), поэтому можно скомпилить все с отладочной информацией, и в СофтАйсе видеть все на родном Паскале.


 
vuk   (2003-05-13 14:24) [10]

С отладкой сервисов всё просто:
1. Запускается приложение из IDE и...
2. Быстро, пока система не остановила приложение, запускается нужная служба из панели управления.

Вот и всё. Кстати и с подключением к работающему сервису всё нормально было...


 
Mystic   (2003-05-13 14:25) [11]

> приаттачиться к уже запущеному сервису - тоже безполезно

Часто этим пользуюсь :)


 
Ihor Osov'yak   (2003-05-13 15:35) [12]

2 vuk, Mystic

Есть несколько моментов.


> Быстро, пока система не остановила приложение

Может я не настолько быстр, либо система уж очень быстра, но этим способом ни разу не удалось успешно воспользоваться (W2K, Athlon 1800)

> Часто этим пользуюсь :)

"Отказано в доступе". Возможно потому, что отладчик по-умолчанию у меня не делфи.. Разобраться с этой траблой руки не доходили.. Права админовские, в тч право отладки также есть соотв.. :-)

Использую основной способ, рекомендуемый по F1:

In some cases, this approach may fail, due to insufficient rights. If that happens, you can use the Service Control Manager to enable your service to work with the debugger:

1 First create a key called Image File Execution Options in the following registry location:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

2 Create a subkey with the same name as your service (for example, MYSERV.EXE). To this subkey, add a value of type REG_SZ, named Debugger. Use the full path to Delphi32.exe as the string value.
3 In the Services control panel applet, select your service, click Startup and check Allow Service to Interact with Desktop.

Пункт 2 с дополнением - для делфи как параметр - полный путь к файлу проекта.. Здесь тоже ньюанс - некоторые проекты тоже не грузятся, нужно его открывать ручками и делать ран после того, как делфи сообщит, что не в состоянии загрузить проект.. Причин этого также не анализировал - пока устраивает..

Зы - а основное средство отладки сервисов - по старинке, запись ключевых событий в лог-файл..

2 evvcom © (13.05.03 14:16) - софтайс - то слышком большой праздник на селе, логов и родного делфи пока хватало.. Софтайсу по другому поводу юзаем..

2 zom © (13.05.03 13:36)

см WinSvc, конечно апишные.. В делфи половина всего апишная :-)..
Установка - как когда, иногда ключики командной строки, иногда - это в основном для случая написания под-заказ - делаю менеджер для сервиса с соотв. кнопочками.. Да, еще имхо - для запуска/останова намного удобнее net start/stop использовать, чем каждый раз в панель управления лазить..







 
evvcom   (2003-05-13 16:26) [13]


> Софтайсу по другому поводу юзаем..

Ну да, согласен. Потому и написал, что сервисы не отлаживал, тем более им.



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

Форум: "Основная";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.028 c
14-83679
-=DeMoH=-
2003-05-04 12:56
2003.05.26
КАК УЗНАТЬ, ЧТО НУЖНО ПРОГЕ?


14-83724
- Tsatur -
2003-05-07 00:54
2003.05.26
INI в инете


4-83786
den_c
2003-03-25 13:25
2003.05.26
Как получить Handle главного окна приложения в котором моя DLL


7-83782
Ал
2003-03-25 10:48
2003.05.26
Как без перезагрузки изменить картинки у только что зарег. файлов


3-83403
Шурик Ш
2003-05-06 17:05
2003.05.26
А как заставить BDE в любом случае спрашивать пароль?





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