Вниз
Скачать: CL | DM;

Как заставить нормально работать delphi- сервис при log of и on   Найти похожие ветки 

 
igornov   (2003-11-13 16:22) [0]

Hi All!

Помогите побороть проблему.

Написал на делфи сервис который периодически обновляет с сетевого ресурса конфигурационные файлы и реестр на локальных машинах. Кроме того он следит за одним процессом клиентского приложения и анализирует его на предмет простоев. Если время простоев превышает допустимое то приложение завершается.Для подсчёта простоев я запускаю этот сервис под системной учётной записью и с доступом к рабочему столу. Периодически перебираю все доступные окна где по заголовку ищу окно требуемого приложения. Потом нахожу связанный с этим окном процесс и беру его Kernel time+User Time. Вот так и считаю простои. Можно конечно было сразу искать процесс по имени, но это приложение могут запускать в тестовом режиме и тогда я не должен его трогать. Режим виден только по заголовку окна.
Кроме этого на базе этого сервиса реализована некая служба сообщений (mailslot). Обновление конфигурации делается по одному таймеру. Подсчёт простоев по другому. Всё прекрасно работает до тех пор пока пользователь не меняет профиль. Как только он меняет профиль - сервис вываливает (не всегда но часто) сообщение об ошибке типа "Память по адресу такому-то не может быть read". После этого падают все таймеры (обновление конфигурации и подсчёт простоев не работают), а остаётся рабочей только служба сообщений (то есть сдыхает не полностью).

Теперь вопрос: чего из выше описанного я не должен делать в момент закрытия рабочего стола юзера? Какие процессы происходят при этом в Windows и как на это должен реагировать мой сервис чтобы не делать ошибок?

Заранее благодарен за любую помощь.

С ув. Игорь Новосёлов
E-mail: igorn@ingok.com.ua


 
igornov   (2003-11-25 10:45) [1]

Удалено модератором
Примечание: Создание пустых сообщений


 
Digitman ©   (2003-11-25 12:04) [2]


> ошибке типа "Память по адресу такому-то не может быть read".
>


не "типа", а тебе конкретно (!!) сообщается, кто, инструкцией по какому адресу пытается получить доступ по чтению по такому-то адресу, в то время как прав на то у "читающей" инструкции нет.

это ж не Пушкину адресовано, а тебе ) ... для анализа причин возникновения ситуации, а не для "типа")

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


 
igornov   (2003-11-28 10:05) [3]

Интересно а каким способом можно отладить сервис в момент закрытия всех окон включая и окна отладчика?


 
Digitman ©   (2003-11-28 10:19) [4]

LogMessage() на что ?
расставляй эти "ловушки" в сомнительных местах



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
14-16709
Undert
2004-01-16 15:34
2004.02.06
Какие причины могут


1-16509
TurburatoR
2004-01-27 11:50
2004.02.06
Как изменить порядок переключения по элементам формы по ТАБ


3-16076
Iceburger
2004-01-09 09:43
2004.02.06
Первый раз столкнулся с использованием PDOX в сети


8-16522
o2
2003-10-02 14:45
2004.02.06
DirectX


14-16589
syte_ser78
2004-01-15 15:11
2004.02.06
Удаление файла досовскими командами




   Наверх