Ошибка открытия порта GodexEZPL.dll на Windows 2008 R2

Страницы: Пред. 1 2
RSS
Ошибка открытия порта GodexEZPL.dll на Windows 2008 R2, Обсуждение: Ошибка открытия порта GodexEZPL.dll на Windows 2008 R2
 
Попробуйте замаппить с двоеточием и указать /PERSISTENT (желательно сначала с двоеточием, потом с параметром)
NET USE LPT1: \\PC\PRINTER /PERSISTENT:YES

Ну и на третий опыт эту dll. Она бета.

9020_GodexEZPL.rar

 
Спасибо. Попробовал, ничего из предложенного, к сожалению, не помогло. Ошибка всё та же.
 
Извиняюсь - не уточнил. В net use нужно указать "LPT3:", т.е. 3-й LPT и с двоеточием на конце. Я в dll сделал изменения только для LPT3.
 
Добрый день, прошу прощения за длительный перерыв между сообщениями. Был на обучении.
Протестировали, не помогло. Ошибка, увы, та же.
А какие были изменения, если не секрет?
 
Секрета нет. В CreateFile(...) при открытии порта в первом параметре указывается его символьное имя. В инете (и у микрософта тоже) рекомендуют задавать "LPTx:" у нас было "LPTx". Не помогло. Больше пока идей нету. Роемся.
 
Такое ощущение, что поведение порта меняется в зависимости от того к какой системе он примаплен....
Хотя может я и не прав.
 
Тут даже не поведение, а его наличие. Ошибка явно указывает, что такого порта в системе нет. Возможно, при удаленной сессии мап порта садится на другой порт. Попробуйте 2 первых использовать.
 
Может кому поможет, что бы не мучились:

1. Начиная с windows 7, а то и висты (не помню), а так же windows 2008, соответственно, маппинг портов через net use работает по другому. По сути алиас создается вместо \devices в ветке dosdevices, которую воткнули далеко от ROOT (ищем в районе Sessions) и при попытке открыть как \\.\lptxx он просто не ищется, т.к. должно быть там совсем другое. Отсюда и ошибка 2 (ERROR_FILE_NOT_FOUND). Кому интересно, сделайте маппинг и поищите с помощью бесплатной WinObj от sysinternals куда и в каком формате он заткнёт этот алиас.

2. Вторая проблема, если правильно помню, то начиная с win 7 и его реализация нетбиос в любом случае не поддерживает работу через CreateFile с алиасами dosdevice по сети. Т.е. всегда будет ошибка 53 (ERROR_BAD_NETPATH), даже если сумеете нащупать нужную ветку и подкорректируете hex-редактором текстовую строку в компоненте и тем самым уберете ошибку 2. Потому любые попытки работать с таким образом «отмапленными» портами через CreateFile в принципе бесполезны. Даже если прежде из самой компоненты вызвать функцию Win API DosDevice... Она, по сути, оставлена для работы с дисками

3. Правильный выход - перерабатывать логику работы самой компоненты и наконец-то добавить туда работу с сетевыми принтерами и работать через OpenPrinter2 или что-то типа такого (на дворе 2018, уж можно было бы, сетевые принтеры давно продаются, а изменения по сути на час-два работы программиста). Ну а простым смертным остаётся писать свои костыли, используя перехват функций компоненты или полностью реализуя драйвер на языке 1с или вообще свою компоненту. Или использовать утилиты типа DosPrint и иже с ними разной степени глюкавости для «старых» программ, которые создают виртуальный lptxx в нужном месте.
 
Вы правильно сказали - на дворе 2018 год и давно уже есть сертифицированная библиотека для 1С платформы 8.х (NATIVE), а для старых платформ библиотеки технологии OLE поддержка прекращена.
Вот тут новость.
Страницы: Пред. 1 2