Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как писать сервисы

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

ova



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу написать сервис. Нужна дока, только желательно полная, т.к. интерисуют вопросы зависимых друг от друга сервисов. Че-то долго не могу найти. Может кто подскажет?

Всего записей: 167 | Зарегистр. 28-11-2002 | Отправлено: 14:55 24-07-2003
odl455



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В MSDN всё прочитал?
 
Base Services -> DLLs, Processes and Threads -> Services

Всего записей: 659 | Зарегистр. 26-08-2002 | Отправлено: 15:24 24-07-2003
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ova
На чем хоть писать собрался? Если на .NET-е, то сам Framework Documentation имеет хороший обзор создания подобного рода приложений.

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 15:24 24-07-2003
ova



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никаких извражений - Delphi 6.0  ))

Всего записей: 167 | Зарегистр. 28-11-2002 | Отправлено: 15:34 24-07-2003
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ova
А-а-а, ну в таком случае ни я, ни МСДН тебе не попутчик .

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 15:35 24-07-2003
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ova
File->New->Service
И пишешь.
Че тут сложного?

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 20:49 24-07-2003
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ova
Прочитай статью http://rsdn.ru/article/?baseserv/svcadmin-1.xml
Там ОЧЕНЬ хорошо расписано про сервисы 8)
Неважно что применительно С, а не дельфи - и так все понятно 8)

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 23:35 24-07-2003
EAS



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
IMHO какая разница - Delphi, Builder или VC. ОС и API все равно. Принципы те же останутся. Не демоны же.

Всего записей: 441 | Зарегистр. 18-07-2003 | Отправлено: 03:33 25-07-2003
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EAS

Цитата:
IMHO какая разница

Технически никакой, но просто если бы надо было на .NET-е код подсказать/посмотреть/подправить, то я мог бы быть более полезным .

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 13:20 25-07-2003
Ananke2003



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По сабжу:  
Создаю сервис. Все по правилам. Все работает. Только одно НО! Он жрет все ресурсы проца.
Смысл сервиса - следить за системным временем и в нужный момент производить необходимые действия. Только один компонент - Timer. Текущее время преобразуется в Мин, сек и т.д. Больше ничего не делает, но проц - 100%.
Может, какие-то настройки изменить надо? Зараннее спасибо...

Всего записей: 9 | Зарегистр. 30-09-2003 | Отправлено: 09:29 06-10-2003
Negr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гляни и это http://infocity.kiev.ua/prog/delphi/content/delphi141.phtml?id=2458,  
сам сервис пишу - помогает + там ссылка выше была, тоже её использовал - этих 2-х вполне хватает, чтоб написать сервис!

Всего записей: 53 | Зарегистр. 23-01-2003 | Отправлено: 11:02 06-10-2003
drobitko

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ananke2003
А каким образом ты ждешь, того момента когда надо произвести действия?

Всего записей: 83 | Зарегистр. 10-02-2003 | Отправлено: 12:37 06-10-2003
unhappy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ananke2003
Если через цикл пустой то тут ты не прав 8)
Там надо поставить чтоб оно в "пустом" цикле отдавало время процессору имхо...
У меня просто такое было..
но боже как давно я написал что-то работающее и ПОЛЕЗНОе на каком-либо языке программирования 8(
Потому непомню.

Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 17:41 06-10-2003
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Только один компонент - Timer

А вот это зря. ИМХО сервисы пишутся без компонент, чтобы меньше жрать памяти. Лучше используй SetTimer. А потом как понять
Цитата:
Текущее время преобразуется в Мин, сек и т.д
. Ты что используешь? Есть стандартная GetLocalTime там все получается уже преобразованным, т. е. уже все полученно. Ничего преобразовывать не надо. Короче пишешь сервисы переходи на АПИ. А то в компонентах иногда много лишнего кода.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:10 07-10-2003
MetroidZ



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Только один компонент - Timer. Текущее время преобразуется в Мин, сек и т.д. Больше ничего не делает, но проц - 100%.  

Так наверно стоит потоком всё оформить и назначить  
thread1.priority:=tpLowest;
хотя может и не так.

Всего записей: 1795 | Зарегистр. 12-07-2003 | Отправлено: 02:13 07-10-2003
zorrack



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unhappy

Цитата:
Ananke2003  
Если через цикл пустой то тут ты не прав 8)  
Там надо поставить чтоб оно в "пустом" цикле отдавало время процессору имхо...  

Чистая правда. Попробуй вставить в цикле Sleep с параметром хотя-бы 1 мс - если дальше жоет ресурсы - значит операция выполняющаяся по таймеру гораздо более ресурсоемкая, чем сам период таймера.
ShIvADeSt

Цитата:
ИМХО сервисы пишутся без компонент, чтобы меньше жрать памяти

Ну, опять же, только в случае, если сами компоненты написаны плохо.
Иногда такое бывает даже у Борланда/Микрософта, но иногда код очень и очень хорошо продуман

Всего записей: 244 | Зарегистр. 16-05-2003 | Отправлено: 02:13 07-10-2003
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 но иногда код очень и очень хорошо продуман  

Просто когда человек использует компоненты, он значит использует готовую форму. А это лишних кило 300 в зависимости от версии ИДЕ. Тем более компоненты сами используют различные модули (просто я мало видел компонент у которых в uses стояло бы только Windows) А это дополнительные килобайты. только екзашника, а если посмотреть сколько прога в памяти весит бывают  и мегабайты . Поэтому я так и высказался.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:27 07-10-2003
Ananke2003



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем за внимание!
 
ShIvADeSt

Цитата:
Лучше используй SetTimer


Цитата:
Есть стандартная GetLocalTime там все получается уже преобразованным

Это, насколько я понимаю, АПИ функции? Я использовал стандартные функции Дельфи. Тип TDateTime, короче. Его и преобразовывал.  
Теперь я понял, компонент Timer для "снимания" времени через каждую секунду жрет все ресурсы. Даже если ничего больше не происходит. Верно? И врядли поможет изменение приоритета. ИМХО. Да и не выход это.
 

Цитата:
ИМХО сервисы пишутся без компонент, чтобы меньше жрать памяти

Это-то оно так, но сама идея программы подразумевает наличие формы: для настроек и прочих приблуд. Хотя эту проблему можно решить путем вызова из сервиса второй программы, которая будет изменять настройки. :)
 
Буду пробовать! ;)

Всего записей: 9 | Зарегистр. 30-09-2003 | Отправлено: 06:54 07-10-2003
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
программы подразумевает наличие формы

Ты не понял. Я не отрицаю наличие формы. Просто если пишешь такие серьезные вещи как сервисы, то переходи на чистое АПИ. Надо форсу используй либо диалоги либо CreateWindow. На нее опять же на АПИ создаешь всякие настройки-приблубы . Я вначале сам думал, что это геморное дело. Потом пару прог написал, понравилось. Разработал свой интерфейс ит.д и т.п. Короче если что надо помочь - пиши. Люди помогут.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 07:01 07-10-2003
Ananke2003



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Спасибо за помощь.  
Обязательно обращусь!

Всего записей: 9 | Зарегистр. 30-09-2003 | Отправлено: 07:14 07-10-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Как писать сервисы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru