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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2012, 20:35   #11
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
LoadGroup и Dependencies — используются для указания порядка загрузки, если это важно для вашей службы. В "LoadGroup" вписывается имя группы, в которую будет входить ваша служба (если будет). Примеры можно посмотреть в реестре: HKEY_LOCAL_MACHINE\System\CurrentCo ntrolSet\Control\ServiceGroupOrder. Т.е. фактически тут определяется, ДО каких служб должна быть запущена ваша служба. Если вы, к примеру, впишете туда "NetBIOSGroup", то службы, зависящие от "NetBIOSGroup" будут ожидать загрузки вашей службы (на самом деле, всё немного сложнее, но не будем на первый раз слишком сильно углубляться в подробности). "Dependencies" же определяет, какие службы должны быть запущены до вас. При добавлении в список зависимости вы должны указывать свойство IsGroup — является ли имя, введённое в Name, именем группы или же это имя службы. Зависимость от группы трактуется следующим образом: будет произведена попытка запуска каждой службы из группы. Ваша служба будет запущена, если хотя одна служба из указанной группы оказалась запущенной. Такая вот весьма странная логика запуска.
Взято отсюда
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 11.12.2012, 20:47   #12
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Зависимость не причем...
Нет доступа к сетевым ресурсам из SYSTEM...
Нужно запускать службу от другого пользователя с правом доступа или ручками в коде конектиться к шаре
http://yandex.ru/yandsearch?text=del...AddConnection2
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 11.12.2012, 21:30   #13
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Зависимость не причем...
С этим соглашусь

Цитата:
Нет доступа к сетевым ресурсам из SYSTEM...
Нужно запускать службу от другого пользователя с правом доступа или ручками в коде конектиться к шаре
А вот это делать без толку, если сама сетевая служба еще не запущена. Потому и надо дополнительно запуск своей ставить после запуска сетевой
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 12.12.2012, 16:50   #14
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Slym,Sciv, что-то я запутался... зависимости причем или не при чем? Нужно запускать службу с другими правами или не нужно? :-)
_Den_1984 вне форума Ответить с цитированием
Старый 12.12.2012, 18:15   #15
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

1. без переписи программы с использованием WNetAddConnection2 - запуск от другого пользователя
2. с использованием WNetAddConnection2 - от любого пользователя в т.ч. от System
про зависимости забудь... не драйвер пишешь
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 12.12.2012, 19:33   #16
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Зависимость таки ни при чем, это я перемудрил, имея в виду, что свою службу надо после сетевой ставить
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 13.12.2012, 11:22   #17
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Slym, буду переписывать программку с использованием WNetAddConnection2 но все-равно остались вопросы про пользователей. Просто интересно под каким пользователем надо запускать?(сейчас делаю все под администратором)
_Den_1984 вне форума Ответить с цитированием
Старый 13.12.2012, 12:29   #18
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Заработало - все копируется все отправляется. Спасибо за помощь всем. Только у меня еще вопрос остался почему диски мапятся под название "Отключенное сетевое устройство"(Q. Мне конечно на название пофиг ибо все работает но хотелось бы красивее сделать :-)


Дошел до следующего этапа и тут снова облом..в режиме службы подключаюсь к 1С но не могу отправить в 1С строку с данными. Смысл работы такой что в определенный момент нужно подключиться к 1С передать ей данные дождаться ответа и вывалить ответ клиенту...так вот в режиме службы не удается отправить данные в 1С хотя подключаюсь нормально

Последний раз редактировалось _Den_1984; 13.12.2012 в 13:14.
_Den_1984 вне форума Ответить с цитированием
Старый 13.12.2012, 14:37   #19
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Цитата:
Сообщение от _Den_1984 Посмотреть сообщение
Заработало - все копируется все отправляется. Спасибо за помощь всем. Только у меня еще вопрос остался почему диски мапятся под название "Отключенное сетевое устройство"(Q. Мне конечно на название пофиг ибо все работает но хотелось бы красивее сделать :-)
NETRESOURCE.lpLocalName - не заполняй и не замапит на диск

lpLocalName - A pointer to a null-terminated string that specifies the name of a local device to redirect, such as "F:" or "LPT1". The string is treated in a case-insensitive manner.
If the string is empty, or if lpLocalName is NULL, the function makes a connection to the network resource without redirecting a local device.



Цитата:
Сообщение от _Den_1984 Посмотреть сообщение
Дошел до следующего этапа и тут снова облом..в режиме службы подключаюсь к 1С но не могу отправить в 1С строку с данными.
как подключаешься?
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 13.12.2012, 15:15   #20
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Slym, создаю OLE объект V81.Application, затем методом connect засылаю строку с учетными данными и подключаюсь к 1С (этот этап проходит без ошибок я в 1С вижу как подключаюсь и отключаюсь)
когда настает время для отправки в 1С строки с даннми для обработки я делаю с помощью метода
.ExportMethods.ProcessOrder(str, OtkazFile, ZakazError); где str- строка с данными для 1С, OtkazFile- ответ 1С , ZakazError - код ошибки если возникает. так вот на этой строке вообще ничего не происходит. :-(

упрощенно код выглядит так
Код:
 C181obj:=CreateOLEObject(OleName);
C181obj.connect('Srvr='+Srvr+';Ref='+Ref+';usr='+Usr+';pwd='+Pwd);
потом в нужный момент
Код:
try C181obj.ExportMethods.ProcessOrder(str, OtkazFile, ZakazError);
строка на которой вообще ничего не происходит и функция возвращает результатом пустую строку (эту пустую строку я сам присваиваю результату в начале функции )

Причем 1С вообще не получает никаких данных и никаких строк

Грешу на созданый мной OLE объект...

Последний раз редактировалось _Den_1984; 13.12.2012 в 16:13.
_Den_1984 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Про загрузку форм в С# an.net Общие вопросы .NET 8 11.04.2011 21:34
Вопросец про BDE и загрузку EXE Elementery Компоненты Delphi 3 12.06.2010 14:14
Вопросик про ООП!!! R@mec Общие вопросы C/C++ 2 22.08.2008 13:38
Вопросик про StringGrid zzzzz Общие вопросы Delphi 3 10.07.2008 20:54
Вопросик про реестр Sin9ikat Общие вопросы Delphi 1 16.06.2008 13:27