Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26069
Рейтинг: 2121
#16: 2007-07-01 21:47:10 ЛС | профиль | цитата
tsdima писал(а):
странное поведение компонента Debug выясняется

А ты случаем не замечал странное поведение Debug'a при закрытии его раньше формы?
карма: 22

0
Ответов: 2125
Рейтинг: 159
#17: 2007-07-02 10:50:23 ЛС | профиль | цитата
Тут не просто странное поведение - Runtime выскакивает!
карма: 1

0
Ответов: 9906
Рейтинг: 351
#18: 2007-07-02 11:09:01 ЛС | профиль | цитата
А вы его в консольной проге не запускали

Ясный перец - защиту на дурака ставить надо...
карма: 9

0
Разработчик
Ответов: 26069
Рейтинг: 2121
#19: 2007-07-02 11:21:51 ЛС | профиль | цитата
Да вроде я поднял вчера этот вопрос и Dilma hiDebug поправил на SVN.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#20: 2007-07-02 11:44:49 ЛС | профиль | цитата
Там не полная защита от дурака. Полнее надо.
карма: 9

0
Ответов: 2125
Рейтинг: 159
#21: 2007-07-02 11:47:55 ЛС | профиль | цитата
Кое-что подправил. Теперь администратором надо быть только для инсталляции/деинсталляции, а для запуска/остановки достаточно прав основного пользователя компа.
карма: 1

0
файлы: 1NTService_1_3.rar [19KB] [338]
Главный модератор
Ответов: 2997
Рейтинг: 395
#22: 2007-07-08 22:15:41 ЛС | профиль | цитата
Похоже на то, что Timer в схеме системного сервиса не работает.

[size=-2]------ Добавлено в 22:15
Пришлось Timer изобретать на чём придётся:
code_1650.txt
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1code_1650.txt [2.5KB] [538]
Главный модератор
Ответов: 2997
Рейтинг: 395
#23: 2007-07-10 13:23:53 ЛС | профиль | цитата
tsdima, посмотрите почему не работает Timer:

Add(NTService,16377226,21,105)
{
link(onStart,11582854:doTimer,[])
}
Add(Timer,11582854,77,105)
{
Enable=1
link(onTimer,480565:doMessage,[])
}
Add(Message,480565,140,105)
{
}
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 2125
Рейтинг: 159
#24: 2007-07-10 14:32:53 ЛС | профиль | цитата
Видимо, потому-же, почему KOL не создаёт окон из сервиса (именно поэтому невозможна пока отладка). Таймер создаёт невидимое окно, на которое и вешает созданные таймеры. Нет окна - нет таймера. А вот MessageBox как ни странно работает, но тут окно создаётся естесственно без участия KOL.

Чтобы отмерять промежутки времени у сервиса есть событие onStep, по умолчанию происходит каждые 50 мсек. Чтобы отмерять другие промежутки времени советую повесить на это событие Counter, а дальше, в зависимости от его значения вызывать определённые действия, например, когда значение кратно 20, делать то, что должно выполняться каждую секунду, и т.п. Таким образом можно задавать несколько различных интервалов.

[size=-2]------ Добавлено в 14:32
Вообще-то, сервис должен строиться по принципу очереди заданий, а onStep - проверять наличие заданий, и если они есть - выполнять их. Но можно проверять, например, системное время каждую секунду, и в назначеное время выполнять "своё чёрное дело"
карма: 1

0
Разработчик
Ответов: 26069
Рейтинг: 2121
#25: 2007-07-10 14:33:18 ЛС | профиль | цитата
tsdima, таймер надо ММ делать, он не зависит от окон. В KOL'e он описан.
карма: 22

0
Ответов: 2125
Рейтинг: 159
#26: 2007-07-10 14:54:14 ЛС | профиль | цитата
Кроме всего прочего, время работы одного шага работы сервиса (onStep) не может быть дольше 30 секунд, иначе сервис будет принудительно завершён. Отсюда вытекает бессмысленность наличия в сервисе любого пользовательского интерфейса. Для взаимодействия пользователя с сервисом нужно писать отдельную программу, не являющуюся сервисом.
карма: 1

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#27: 2007-07-23 22:53:05 ЛС | профиль | цитата
Есть сервис функция которого удалять файлы и папки в какой-нибудь специальной папке. Например, c: emp. Всё прекрасно работает на локальной машине, но с сетевым диском не работает, типа нет привилегий. Под W2K Server достаточно установить Log on сервиса с нужными привилегиями и сервис заработает. А вот под W2K3 этого не достаточно. Вопрос: что ещё надо сделать для работы сервиса под W2K3 Server?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 893
Рейтинг: 18
#28: 2007-07-23 23:14:32 ЛС | профиль | цитата
tsdima, а как к сервису прилепить свою иконку ?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2125
Рейтинг: 159
#29: 2007-08-09 18:59:10 ЛС | профиль | цитата
Nic писал(а):
что ещё надо сделать для работы сервиса под W2K3 Server?

Ввиду отстутствия данного зверя под рукой ответить не могу. Я надеюсь, ты используешь пути в формате UNC \server esourcepath
карма: 1

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#30: 2007-08-09 22:13:55 ЛС | профиль | цитата
Теперь под W2K3 - да. Нашёл в инете по этому поводу инфу - решение только через UNC.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)