none
Obtendo String de uma API RRS feed

  • Discussão Geral

  • Olá pessoal, boa tarde!

    Estou desenvolvendo uma aplicação para que eu possa obter maior conhecimento com API e da linguagem VB.NET.

    Bom, construi uma aplicação em VB6 que funciona preciosamente conforme projetada, no entanto ao desenvolver a mesma aplicação em VB.Net (Visual Studio 2010 Express), não consigo ler a string 'Descricao' por inteira.

    VB6

    Private Declare Function MKT_Le_Campo Lib "C:\LibSiTef\LibSiTef.dll" (ByVal ID_TEF As Long, ByVal ID_CAMPO As Long, ByVal Descricao As String) As Long
    Private Declare Function MKT_Obtem_Descricao_Erro Lib "C:\LibSiTef\LibSiTef.dll" (ByVal ID_TEF As Long, ByVal ID_Erro As Long, ByVal Descricao As String) As Long

    Dim ID_TEF As Long
    Dim ID_Erro As Long
    Dim Retorno As Long
    Dim Descricao As String * 1024

    VB.Net

    Private Declare Function LeCampo Lib "LibSiTef.dll" Alias "MKT_Le_Campo" (ByVal ID_TEF As Integer, ByVal ID_CAMPO As Integer, ByVal Descricao As String) As Integer

    Private Declare Function ObtemDescricaoErro Lib "LibSiTef.dll" Alias "MKT_Obtem_Descricao_Erro" (ByVal ID_TEF As Integer, ByVal ID_Erro As Integer, ByVal Descricao As String) As Integer

    <VBFixedString(4)> Dim ID_TEF As Integer
    <VBFixedString(4)> Dim ID_Erro As Integer
    <VBFixedString(4)> Dim Retorno As Integer
    <VBFixedString(4)> Dim TamMaxSaida As Integer
    <VBFixedString(128 + 1)> Dim Descricao As String


    • No caso do VB.NET tive que alterar tudo que era long para integer pois ao iniciar ele acusa erro para ID_ERRO (Operação aritmética resultou em um estouro.).
    • Consigo obter apenas o primeiro byte da string.

    quinta-feira, 6 de julho de 2017 15:59

Todas as Respostas

  • Bom dia, Dennis Piassa.

    Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma pergunta de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 7 de julho de 2017 14:41
    Moderador
  • Acho que seria mais How to do que break fix. O fato é que só consigo mostrar o primeiro byte da string e não o seu conteúdo de forma integral.
    segunda-feira, 10 de julho de 2017 12:53
  • Alguém sabe dizer, porque só após essa declaração "suja" da variável. Consegui receber e imprimir os dados enviados pela biblioteca?

    Descricao = "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"

    Inicializei a variável "Descrição" com 128bits. E aí consigo fazer a impressão dos dados em tela.

    sexta-feira, 20 de abril de 2018 15:28