Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Работа с DlPortIO.dll


Автор: kleon 4.3.2008, 14:37
Не работает функция DlPortWritePortUchar(ByVal Port as Long, Value as Byte) в проге на VB.NET. На VB6 все работает прекрасно, а в .NET - только чтение из порта LPT, т.е. функция DlPortReadPortUchar возвращает байт из LPT, записанный туда другой программой. ОС - WIN XP Pro, W2K, драйвер dlportio.sys - установлен. Такое ощущение, что .NET блокирует опреации вывода в порт. VB6 использовать не хотелось бы, потому что нужен второй поток в приложении, контролирующий готовность внешнего устройства по установленному биту в LPT. Подскажите, пожалуйста, как быть. 

Автор: kleon 5.3.2008, 12:56
Дополнительная информация. Как я понял, доступ закрывает Net.Framework. По видимому нужно установить разрешения на доступ с использованием класса SecurityPermission. В книге Крейга Атли проуесс описан слабо, а самому разобраться с помощью MSDN не получилось, потому что не понятно к чему нужно разрешить доступ. Объекты выше упомянутого класса не очень то прозрачны. Если моя мысль верна и кто то из уважаемых знает как это делается на уровне сборки (типа:<Assembly: UIPermission(SecurityAction.RequestOptional, Unrestricted:=True>), подскажите.
)

Автор: kleon 11.3.2008, 12:51
Попался на преобразованиях типов, в указанной выше DLL входной аргумент типа LONG, а в .NET следует указать Integer. Стыдно конечно, но со всяким бывает. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)