Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

[Resolvido] Converter CSharp para V.NET

Recommended Posts

Pessoal estou tentando converter o código abaixo para vb.net e não estou conseguindo, os tradutores online que encontrei traduzem essa parte errado e também não rola, já reescrevi a aplicação quase toda mas essa não rola:

public event AddCommandListHandle OnAddCommandList;
       public event ShowCommandListHandle OnShowCommandList;
       public event ShowTextMessageHandle OnShowTextMessage;

OnAddCommandList(0, CommandBuf);
        // send data
           try
           {
               m_SerialPort.Write( CommandBuf, 0, 13 );
           }
           catch( Exception e )
           {
               m_strComErrorMessage = e.Message;
               return 1;
           }

...

OnAddCommandList(1, RxCmd);
OnShowCommandList();
OnShowTextMessage(string.Format("Checking Baudrate - {0:d} ...", m_nBaudrate));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o segredo mesmo é conhecer as duas linguagens, só assim fica mais fácil transpor, primeiro comece tirando todas as chaves e ";" depois procure as sintaxes de cada comando e veja no vb.net se existem. É um dos únicos modos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa beleza, é o que estou tentando fazer, por exemplo converti o código abaixo:

C#:

public delegate void AddCommandListHandle( byte nFlag, byte[] Command );
   public delegate void ShowCommandListHandle();
   public delegate void ShowTextMessageHandle(string strMessage);
public void AddCommandEventHandle( )
       {
           m_commSocket.OnAddCommandList += this.OnAddCommandList;
           m_commSocket.OnShowCommandList += this.OnShowCommandList;
           m_commSerial.OnAddCommandList += this.OnAddCommandList;
           m_commSerial.OnShowCommandList += this.OnShowCommandList;
       }

 

e converti para vb.net:

Public Delegate Sub AddCommandListHandle(nFlag As Byte, Command As Byte())
Public Delegate Sub ShowCommandListHandle()
Public Delegate Sub ShowTextMessageHandle(strMessage As String)
Public Sub AddCommandEventHandle()
m_commSocket.OnAddCommandList += Me.OnAddCommandList
m_commSocket.OnShowCommandList += Me.OnShowCommandList
m_commSerial.OnAddCommandList += Me.OnAddCommandList
m_commSerial.OnShowCommandList += Me.OnShowCommandList
End Sub

No caso da minha tradução o vs 2012 esta me informando o seguinte, que essas linhas:

m_commSocket.OnAddCommandList += Me.OnAddCommandList
m_commSocket.OnShowCommandList += Me.OnShowCommandList
m_commSerial.OnAddCommandList += Me.OnAddCommandList
m_commSerial.OnShowCommandList += Me.OnShowCommandList

'Public Event OnAddCommandList(nFlag As Byte, Command() As Byte)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.

 

 

Como converter essa parte, pesquisei sobre RaiseEvent mas não consegui usar nos casos acima, provavelmente não entendi como usar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Função de eventos é um pouco complicada no VS, tente assim:

 

 

RaiseEvent OnAddCommandList += Me.OnAddCommandList
       RaiseEvent OnShowCommandList += Me.OnShowCommandList
       RaiseEvent OnAddCommandList += Me.OnAddCommandList
       RaiseEvent OnShowCommandList += Me.OnShowCommandList

 

 

Não creio que seja o correto, mas vale a pena testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza

 

Então velho tentei várias formas, a que você propôs não rolou, tentei assim também:

AddHandler m_commSocket.OnAddCommandList, AddressOf OnAddCommandList

Não rolo, tentei dessa forma:

RaiseEvent m_commSocket.OnAddCommandList, AddressOf OnAddCommandList

Também não rolo, estou pesquisando mais, porém esta complicado mesmo, acredito que não tem muito significado mas agora to tentando de tudo, se tiver alguma sugestão da um toque

Compartilhar este post


Link para o post
Compartilhar em outros sites

É cara, eu ainda não cheguei a pesquisar muito sobre Eventos no VS, vou dar uma pesquisada, se encontrar algo retorno a você, vou marcar como resolvido e depois se algo surgir você pode criar outro tópico beleza?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.