USB x Paralela: DLL em VB6 para C#

19/07/2011

0

Tenho uma dll que funciona em VB6 para acessar a USB x Paralela, quando utilizo em C# ela só reconhece o equipamento (porta paralela), porém não consigo enviar nem receber dados. Alguém teria uma forma de fazer com que permitisse o acesso em C#?
Ronaldo

Ronaldo

Responder

Posts

21/07/2011

Marcio Silveira

Ronaldo,

Se essa sua dll é um objeto COM+ deveria funcionar normalmente no C#, basta fazer a referência.

Responder

21/07/2011

Ronaldo

Já fiz a referência ela reconhece e na hora de acessar que esta dando problema, parece que esta sendo bloqueada. Veja a referencia:   using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices; namespace paralela_usb
{
    unsafe class paralela
    {
        [DllImport("RCOM_USB_LPT.dll")]
        public static extern unsafe bool TestaBit(byte valor, byte bit);
        [DllImport("RCOM_USB_LPT.dll")]
        public static extern unsafe byte LigaBit(byte Valor, byte Bit);
        [DllImport("RCOM_USB_LPT.dll")]
        public static extern unsafe byte DesligaBit(byte Valor, byte Bit);
        [DllImport("RCOM_USB_LPT.dll")]
        public static extern unsafe int LPT_Abrir_Porta(string NomePorta);
        [DllImport("RCOM_USB_LPT.dll")]
        public static extern unsafe int LPT_WriteByte(long hDevice, byte pRegIndex, byte pRegValue);
        [DllImport("RCOM_USB_LPT.dll" )]
        public static extern unsafe byte LPT_ReadByte(long hDevice, byte pRegIndex);
        [DllImport("RCOM_USB_LPT.dll" )]
        public static extern unsafe bool CheckDriver(long hDevice);
        [DllImport("kernel32")]
        public static extern long CloseHandle (long hObject);        
     
    }
Responder

22/07/2011

Marcio Silveira

Ronaldo,

Qual a mensagem de erro?
Pensei numa coisa aqui, mas não faz muito sentido, porque quem interage com o hardware é o COM+, mas existem algumas configurações de segurança na framework que podem estar com baixo nível de confiança para o DotNet.
Mas faz o seguinte, tenta fazer um try/catch para pegar a InnerException. Assim talvez possamos ajudar mais.

Responder

22/07/2011

Ronaldo

Não ocorre erro, simplesmente ele não envia o dado. Preciso saber de uma maneira para passar pelo framework para conseguir acessar de forma direta, fiz em C funcionou, porém em C# não consigo enviar o dado...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar