
Драйвер фискального регистратора
Модератор: AsterMaster
Драйвер фискального регистратора
Драйвер фискального регистратора OLE-сервер при первом запуске захватывает порт (любое приложение, запускающее драйвер). Если другое приложение (любое количество) подключается, повторного захвата не требуется, организуется очередь и что-то типа того. Все это прекрасно работает в рамках одной пользовательской сессии. Но с Астером возникают проблемы, под другой пользовательской сессией OLE-сервер запускается заново, и естественно "порт занят". От имени системы как сервис OLE-сервер запустить нельзя. что делать ума не приложу 

- AsterMaster
- ИБИК
- Сообщения: 2222
- Зарегистрирован: Сб фев 05, 2005 0:48
- Откуда: Москва
- Контактная информация:
Можно попробовать установить версию АСТЕР 2.3.0429 PE (это полная версия, при запуске потребует установить диск). В этой версии изменена схема управления для named pipes; теперь программы, использующие эту технологию для установки связи между экземплярами, будут "видеть" друг друга при запуске на разных рабочих местах. Однако это, возможно, не решит проблему.
Предлагаю провести показательную проверку. В пределах одного рабочего места (для чистоты эксперимента АСТЕР можно не запускать) выполнить вход сразу под двумя различными пользователями (Windows XP допускает это); запустить в одном сеансе программу, использующую порт, затем перейти в другой сеанс (посредством быстрого переключения пользователей), и там выполнить проверку на занятость порта. Если порт окажется занят, значит программа изначально не расчитана на работу с терминальным сервисом, и проблему можно будет решить только внесением поправок непосредственно в код OLE-сервера или написав отдельную программу поддержки OLE-сервера в терминальной среде.
Есть предположение, что OLE-сервер по старинке использует локальное пространство имен для создания именованных объектов общего доступа, поэтому эти объекты не видны из другой сессии. Как следствие, проблема будет проявляться не только на рабочих местах АСТЕР, но и на рабочих местах Terminal Services и в параллельных сеансах Windows XP (о чем я и писал выше, это легко проверить).
Предлагаю провести показательную проверку. В пределах одного рабочего места (для чистоты эксперимента АСТЕР можно не запускать) выполнить вход сразу под двумя различными пользователями (Windows XP допускает это); запустить в одном сеансе программу, использующую порт, затем перейти в другой сеанс (посредством быстрого переключения пользователей), и там выполнить проверку на занятость порта. Если порт окажется занят, значит программа изначально не расчитана на работу с терминальным сервисом, и проблему можно будет решить только внесением поправок непосредственно в код OLE-сервера или написав отдельную программу поддержки OLE-сервера в терминальной среде.
Есть предположение, что OLE-сервер по старинке использует локальное пространство имен для создания именованных объектов общего доступа, поэтому эти объекты не видны из другой сессии. Как следствие, проблема будет проявляться не только на рабочих местах АСТЕР, но и на рабочих местах Terminal Services и в параллельных сеансах Windows XP (о чем я и писал выше, это легко проверить).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя