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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2011, 18:03   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

эм а вы вкурсе что сервис у себя на рабочем столе, а юзер у себя?
И интерактивный режим тоже не всегда есть хорошо.
Человек_Борща вне форума Ответить с цитированием
Старый 20.07.2011, 09:51   #12
Dee63
Пользователь
 
Аватар для Dee63
 
Регистрация: 09.03.2010
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
эм а вы вкурсе что сервис у себя на рабочем столе, а юзер у себя?
И интерактивный режим тоже не всегда есть хорошо.
если это мне было адресовано- в курсе.

А вы вкурсе что можно запускать приложения от имени другого пользователя? не без гемороя, но можно. И где то я даже наблюдал готовую реализацию, работающую на вин7 в том числе.

Ну а если он все в сервис пихает-сервис то будет тоже сидеть в 0 сессии.
И толку с ним мудохаться если с пользаком он в разных песочницах?

Сделал сервис на запуск морды, морда стартанула в свернутом режиме в 0 сессии и делает что нужно, а когда нужно общается с сервисом на предмет "привет как дела".

P.S. а тут еще автор вроде и не ставил задачу взаимодействия СЕРВИСА с пользователем. Значит сессия для его работы не принципиальна.

Последний раз редактировалось Dee63; 20.07.2011 в 09:54.
Dee63 вне форума Ответить с цитированием
Старый 20.07.2011, 12:27   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Тс, вообще хотел решить проблема с внутренним потоком TTHread(который создавался сервисом).
Человек_Борща вне форума Ответить с цитированием
Старый 26.08.2011, 22:21   #14
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

да да да)) взаимодействие службы с клиентским win32-приложением будет осуществляться через свой протокол посредством TCP
Суть темы в том, что если поток по своей специфике может завершаться и уничтожаться не мгновенно, а какое-то время, то как службе корректно дожидаться его завершения, когда ее останавливают. Вызов WaitFor в ServiceStop приводит к зависанию службы. Про особенности потоков знаю, там ошибок нет. В простом тестовом приложении этот же класс потока освобождается корректно, правда какое-то время, в зависимости от числа клиентских подключений -потоков.
Вот собсно и проблема...
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 26.08.2011, 22:35   #15
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
Вызов WaitFor в ServiceStop приводит к зависанию службы
Даже если бы она не "зависала" (что сделать совсем не сложно), то что по-твоему должна делать служба, если поток еще не завершился и хз когда завершится, а ей, службе, уже пора срочно закругляться по хозяйству, потому что система после отправке сервису сообщения SERVICE_CONTROL_STOP/SHUTDOWN (реакцией на которые как раз и является событие OnStopService) выделяет службе на "закругление по хозяйству" довольно ограниченное время ? Принудительно снимать тред с выполнения ?

Последний раз редактировалось mss; 26.08.2011 в 22:39.
mss вне форума Ответить с цитированием
Старый 27.08.2011, 14:55   #16
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

тогда наверное логично при обработки tcp-команды на выключение службы сделать так, чтобы данный поток выполнил все необходимые операции, и потом вызвал ServiceStop, скажем, в своем обработчике OnTerminate. Или я не прав?
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ожидание завершения потоков Voody Общие вопросы Delphi 11 14.06.2016 06:10
ожидание завершения работы макроса -Anton- Microsoft Office Excel 15 18.06.2011 18:17
Синий экран при выключении bookkc Помощь студентам 2 19.11.2010 14:59
Ожидание завершения процесса Человек-Ололо Общие вопросы Delphi 2 08.03.2010 19:39
Использование метода free после завершения потока Denager Общие вопросы Delphi 4 29.08.2008 10:13