none
ERRO TEF DLL - AJUDA RRS feed

  • Pergunta

  •  

    Olá.

     

    Estou homologando o meu sistema para TEF DEDICADO

    a bronca é o seguinte:

     

    tem uma dll com a função:

     

    [DllImport("CliSiTef32I.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "ContinuaFuncaoSiTefInterativo", CharSet = CharSet.Auto, SetLastError = true)]

    private static extern int ContinuaFuncaoSiTefInterativo(int Comando, int TipoCampo, int TamMinimo, int TamMaximo, byte[] Buffer, int TamBuffer, int Continua);

     

     

    na chamada da função :

     

    byte[] _buf = new byte[22000];

    int resultado = ContinuaFuncaoSiTefInterativo(0, 0, 0,0, _buf,  (int)_buf.Length, 0);

     

    gera este erro:

     

    "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

     

     

    é algo errado ou preciso atualizar o visual studio para resolver este problema

     

    o exemplo no delphi e esse e funciona legal

     

    function ContinuaFuncaoSiTefInterativo (
               var ProximoComando: Integer;
               var TipoCampo: Integer;
               var TamanhoMinimo: smallint;
               var TamanhoMaximo: smallint;
               pBuffer: PChar;
               TamMaxBuffer: Integer;
               ContinuaNavegacao: Integer
             ): integer; far; stdcall;
                external 'CliSiTef32I.dll';

    ________________________________________________________________

      ProximoComando:= 0;
      TipoCampo:= 0;
      TamanhoMinimo:= 0;
      TamanhoMaximo:= 0;
      Resultado:= 0;
      Resultado := sizeof(Buffer);

      Sts:= ContinuaFuncaoSiTefInterativo (ProximoComando, TipoCampo, TamanhoMinimo,
                                      TamanhoMaximo, Buffer, sizeof (Buffer),
                                      Resultado);

    quarta-feira, 6 de agosto de 2008 21:49

Respostas

Todas as Respostas

  •  

    Olá.

     

    Estou homologando o meu sistema para TEF DEDICADO

    a bronca é o seguinte:

     

    tem uma dll com a função:

     

    [

     

    DllImport("CliSiTef32I.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "ContinuaFuncaoSiTefInterativo", CharSet = CharSet.Auto, SetLastError = true)]

     

     

    private static extern int ContinuaFuncaoSiTefInterativo(int Comando, int TipoCampo, int TamMinimo, int TamMaximo, byte[] Buffer, int TamBuffer, int Continua);

     

     

    na chamada da função :

     

     

     

    byte[] _buf = new byte[22000];

     

     

    int resultado = ContinuaFuncaoSiTefInterativo(0, 0, 0,0, _buf,  (int)_buf.Length, 0);

     

    gera este erro:

     

    "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

     

     

    é algo errado ou preciso atualizar o visual studio para resolver este problema

     

    o exemplo no delphi e esse e funciona legal

     

    function ContinuaFuncaoSiTefInterativo (
               var ProximoComando: Integer;
               var TipoCampo: Integer;
               var TamanhoMinimo: smallint;
               var TamanhoMaximo: smallint;
               pBuffer: PChar;
               TamMaxBuffer: Integer;
               ContinuaNavegacao: Integer
             ): integer; far; stdcall;
                external 'CliSiTef32I.dll';

    ________________________________________________________________

      ProximoComando:= 0;
      TipoCampo:= 0;
      TamanhoMinimo:= 0;
      TamanhoMaximo:= 0;
      Resultado:= 0;
      Resultado := sizeof(Buffer);

      Sts:= ContinuaFuncaoSiTefInterativo (ProximoComando, TipoCampo, TamanhoMinimo,
                                      TamanhoMaximo, Buffer, sizeof (Buffer),
                                      Resultado);


    Vc conseguiu resolver este problema? Está acontecendo comigo também

    Obrigado,
    segunda-feira, 11 de maio de 2009 14:53
  • Boa tarde,

    eu sei que este tópico ja tem algum tempo, alguem pode me ajudar com este problema?


    Pedro Paulo Fabre Jr
    quinta-feira, 20 de agosto de 2009 19:32
  • Boa tarde!

    Tenta passar com valor 20000 no buffer e retorna aqui pra gente se deu certo.

    T+.
    quinta-feira, 20 de agosto de 2009 20:11
  • na verdade resolvi o problema colocando "ref" nas variaveis que precisam de retorno. Era o unico problema.

    ref int Comando, ref int TipoCampo, ref int TamMinimo, ref int TamMaximo

    Pedro Paulo Fabre Jr
    quinta-feira, 20 de agosto de 2009 21:44
  • na verdade resolvi o problema colocando "ref" nas variaveis que precisam de retorno. Era o unico problema.

    ref int Comando, ref int TipoCampo, ref int TamMinimo, ref int TamMaximo

    Pedro Paulo Fabre Jr
    quinta-feira, 20 de agosto de 2009 21:44