tsdima писал(а):
странное поведение компонента Debug выясняетсяА ты случаем не замечал странное поведение Debug'a при закрытии его раньше формы?
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
tsdima писал(а): странное поведение компонента Debug выясняетсяА ты случаем не замечал странное поведение Debug'a при закрытии его раньше формы? |
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Тут не просто странное поведение - Runtime выскакивает!
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
А вы его в консольной проге не запускали
Ясный перец - защиту на дурака ставить надо... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Да вроде я поднял вчера этот вопрос и Dilma hiDebug поправил на SVN.
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Там не полная защита от дурака. Полнее надо.
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Кое-что подправил. Теперь администратором надо быть только для инсталляции/деинсталляции, а для запуска/остановки достаточно прав основного пользователя компа.
|
|||
карма: 1 |
| ||
файлы: 1 | NTService_1_3.rar [19KB] [386] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Похоже на то, что Timer в схеме системного сервиса не работает.
[size=-2]------ Добавлено в 22:15 Пришлось Timer изобретать на чём придётся: code_1650.txt |
|||
карма: 6 |
| ||
файлы: 1 | code_1650.txt [2.5KB] [604] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
tsdima, посмотрите почему не работает Timer:
|
|||
карма: 6 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Видимо, потому-же, почему KOL не создаёт окон из сервиса (именно поэтому невозможна пока отладка). Таймер создаёт невидимое окно, на которое и вешает созданные таймеры. Нет окна - нет таймера. А вот MessageBox как ни странно работает, но тут окно создаётся естесственно без участия KOL.
Чтобы отмерять промежутки времени у сервиса есть событие onStep, по умолчанию происходит каждые 50 мсек. Чтобы отмерять другие промежутки времени советую повесить на это событие Counter, а дальше, в зависимости от его значения вызывать определённые действия, например, когда значение кратно 20, делать то, что должно выполняться каждую секунду, и т.п. Таким образом можно задавать несколько различных интервалов. [size=-2]------ Добавлено в 14:32 Вообще-то, сервис должен строиться по принципу очереди заданий, а onStep - проверять наличие заданий, и если они есть - выполнять их. Но можно проверять, например, системное время каждую секунду, и в назначеное время выполнять "своё чёрное дело" |
|||
карма: 1 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
tsdima, таймер надо ММ делать, он не зависит от окон. В KOL'e он описан.
|
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Кроме всего прочего, время работы одного шага работы сервиса (onStep) не может быть дольше 30 секунд, иначе сервис будет принудительно завершён. Отсюда вытекает бессмысленность наличия в сервисе любого пользовательского интерфейса. Для взаимодействия пользователя с сервисом нужно писать отдельную программу, не являющуюся сервисом.
|
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Есть сервис функция которого удалять файлы и папки в какой-нибудь специальной папке. Например, c: emp. Всё прекрасно работает на локальной машине, но с сетевым диском не работает, типа нет привилегий. Под W2K Server достаточно установить Log on сервиса с нужными привилегиями и сервис заработает. А вот под W2K3 этого не достаточно. Вопрос: что ещё надо сделать для работы сервиса под W2K3 Server?
|
|||
карма: 6 |
|
Ответов: 893
Рейтинг: 18
|
|||
tsdima, а как к сервису прилепить свою иконку ?
|
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Nic писал(а): что ещё надо сделать для работы сервиса под W2K3 Server?Ввиду отстутствия данного зверя под рукой ответить не могу. Я надеюсь, ты используешь пути в формате UNC \server esourcepath |
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Теперь под W2K3 - да. Нашёл в инете по этому поводу инфу - решение только через UNC.
|
|||
карма: 6 |
|