SOS! Программе стал недоступен COM-порт, Штрих-М

Нихрена понять не могу. Работало себе работало и резко перестало.
Схема такая. Фискальный регистратор (кассовый аппарат Штрих-М) каким-то образом подключается к компьютеру. Там несколько способов подключения, вопрос не в этом. Способ соединения настраивается в драйвере кассы. Драйвер выступает как com-сервер, и вся работа программ ведётся через него. То есть сама программа никак не может влиять на способ и параметры подключения, она работает с тем, что ей даёт драйвер.
Так вот. Драйвер кассу видит, будто всё хорошо. Запускаю в VFP (в самОм Фоксе) простейшую prg-шку:
[code]
oDrv = CreateObject("Addin.DRvFR")
oDrv.Password = 1
nOutCode = oDrv.Beep() && команда кассе издать звук
If m.nOutCode<>0
MessageBox("Драйвер ККТ вернул ошибку" +Chr(13)+ Transform(m.oDrv.ResultCode) +": "+ m.oDrv.ResultCodeDescription)
EndIf
[/code]
Касса пиликает. Закрываю VFP, запускаю свою прогу, скомпилированную в exe, из неё запускаю эту же самую prg, пишет «-2: COM порт недоступен». Подчёркиваю, ошибка не «занят другой программой», а именно недоступен. То есть для vfp.exe доступен, а для прога.exe нет.
Дело в том, что эта же самая прога с этими же драйверами давно работает ещё в нескольких местах. Работала и в «проблемном», а неделю назад потеряла связь. Что произошло непонятно. Судя по протоколам никакие обновы не ставились, да и там Win7 - уже не обновляется. Подключил там же к другому компу, та же песня - драйвер связь видит, а прога нет. Забрал кассу, привёз домой и тут уже обнаружил, что в чистом VFP работает нормально.
По итогу пробовал под Win7-32, Win7-64, Win10-64.
На всякий: написал аналогичный код в vbs-файл, запускаю через CScript - пишет ту же ошибку.
Как такое может быть, куда копать?

0

Автор публикации

Пользователи не найдены
Оставить комментарий
Авторизация
*
*
Генерация пароля