![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
pushok |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
Доброго времени суток!
Вопрос следующий: сделал самую простую службу ОС Windows: 1 стандартная процедура (ServiceController) и стандартная функция (GetServiceController) + 1 процедура (ServiceExecute) с небольшим кодом (ниже листинг)
Пояснение: - в ... (троеточии) спрятано многое (определение переменных и их использование), - каждые 30 (timer2) секунд должны убиваться проекты с названиями из массива pr[] - из файлов я считываю и туда записываю параметры (ну например значение таймера и имена процессов) Вопрос такой: если в процедуре AssignFile указан путь к локальной папке (например D:\000\) все работает прекрасно, но если указан путь к ПК в локальной сети (как в листинге например), то служба не работает (в файл запись не идет и служба останавливается сразу после запуска). *папка на ПК в локальной сети с общим доступом. При этом пробовал на обычном приложении - там и читается и записывается в файлы на ПК в локальной сети прекрасно. Проверял список модулей в uses, пробовал подставлять туда тот же список, что и для обычного приложения. Подскажите, что я упустил. Почему так происходит? Как добиться желаемого? Заранее благодарен за предоставленную информацию. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
смотри журнал винды поставь try-except Используй getlasterror неужели не знаешь, как выявить ошибку? |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
ошибки там нет...
есть не понимание работы винды служб и шар... pushok, как Вы думаете под каким пользователем служба пытается получить доступ к указанной "папке"? Когда найдете ответ (например в логах безопасности MICROSOF-84D575) подумайте о том какие права данный пользователь имеет на MICROSOF-84D575. Но выход очень простой... создаете "специального пользователя" настраиваете права и запускаете службу от имени этого пользователя. Это к стати стандартный механизм и им пользуется в том числе и MS. Для запуска службы под нужным пользователем достаточно указать данные авторизации при ее установке. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
pushok |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
Большое спасибо за подсказки, все дело и правда в пользователях, а журнал помог отладить работу службы, теперь буду учится делать записи в журнал своими руками.
Еще раз спасибо ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |