Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2014, 14:00   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Сервис и приложение

Доброго времени суток!
Появилась необходимость создать программу, которая будет что-то делать (создавать текстовые файлы на диске C) до входа в Windows (работать как сервис) и делать тоже самое, но после входа в Windows (работать как приложение, а не как сервис).
Создание текстовых файлов
Код:
procedure TFormMain.Timer1Timer(Sender: TObject);
var
  SL: TStringList;
begin
  Inc(Count);

  SL := TStringList.Create;
  SL.Add(IntToStr(Count));
  SL.SaveToFile(Format('C:\Delphi\Project\_\TXT_%d.txt', [Count]));
  FreeAndNil(SL);
end;
Помогите, пожалуйста, поэтапно сделать задуманное. Что писать первым, какие проверки делать (проверка командной строки на предмет указаний инсталлировать или удалить сервис; проверка, что приложение запущено как сервис; и прочие тонкости)

Последний раз редактировалось Shouldercannon; 14.08.2014 в 14:05.
Shouldercannon вне форума Ответить с цитированием
Старый 14.08.2014, 14:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
проверка, что приложение запущено как сервис
Насколько я помню, есть компонент TService, позволяющий стать приложению службой. У него есть событие старта - вот в нем и определяй что приложение запущено в качестве службы.
Вообще я не оч. хорошо знаю как в Делфи службы по феншую пишутся, но по-моему старт (обычный старт) приложения как службу его не активирует. А вот если приписать ключик -start при запуске, то будет стартовать именно как приложение.

У меня нескромный вопроса:
А что понадобилось выполнять до старта сеанса и после? т.е. почему бы не поместить приложение в автозагрузку?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2014, 14:48   #3
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

пишите службу. потом поставите её в винду укажите когда запускать в настройках. а вот как приложение она работать не будет. но для интеграции с ней можно использовать другое ваше приложение с соединением со службой например по сокету для управления и обмена инфой..

Да главное отличие службы от приложения это отсутствие визуальных форм. на сколько я понял описание её.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 14.08.2014 в 14:55.
IliaIT вне форума Ответить с цитированием
Старый 14.08.2014, 14:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
главное отличие службы от приложения это отсутствие визуальных форм.
Не согласен. Я очень много видел служб с формами и окнами. Да тот же RAdmin взять к примеру.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2014, 15:00   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
У меня нескромный вопроса:
А что понадобилось выполнять до старта сеанса и после? т.е. почему бы не поместить приложение в автозагрузку?
Есть бекапщик, который должен работать до входа в виндовс и после. Не всегда есть возможность проверит в каком состоянии система, а бекапщик запускается только после входа в систему.
Shouldercannon вне форума Ответить с цитированием
Старый 14.08.2014, 15:42   #6
MODBUS
Пользователь
 
Регистрация: 01.08.2014
Сообщений: 66
По умолчанию

...пишется два приложения: сам сервис и десктоп-приложение (с формами или без, неважно). Задача сервиса запустить приложение до входа с правами учетки пользователя. Так делается по классике.
MODBUS вне форума Ответить с цитированием
Старый 14.08.2014, 16:08   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Есть бекапщик
А вот так лучше не делать.
Надежнее будет стартовать его в автозагрузке, а пользователю выводить окно "внимание, создаю копию. подождите.".
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2014, 17:50   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

С интерактивными службами вам придется чуток помудохаться Интерактивности нет как таковой в Windows 7 и далее...
Человек_Борща вне форума Ответить с цитированием
Старый 14.08.2014, 19:42   #9
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А вот так лучше не делать.
Надежнее будет стартовать его в автозагрузке, а пользователю выводить окно "внимание, создаю копию. подождите.".
Того требуют обстоятельства. Бекапщик стоит на виртуальной ОС, куда заходят очень редко, когда что-то выходит из строя. И эта виртуальная ОС иногда перезагружается. Так что только полная автономность без участия пользователя.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
использование RANTIME при пересылке сообщения. Приложение остановлено и-за ошибки выполнения. Приложение будет закрыто ankan Microsoft Office Access 2 28.04.2014 03:11
Сервис приложение Delphi Dimonnik Помощь студентам 33 01.02.2014 07:56
Превратить десткоп приложение на делфи в интернет-сервис Dennis777 Общие вопросы Delphi 12 09.12.2013 17:07
Сервис King88 Свободное общение 7 14.02.2012 21:27
Задача:в вижуал с++ Разработать приложение-сервер и приложение (смотри дальше сообщение) Мила777 Фриланс 2 21.10.2009 11:05