Fórum Tanca Fóruns SAT Fiscal TS-1000 e SDK-1000 Erro PInvoke em c#

Este tópico contém respostas, possui 2 vozes e foi atualizado pela última vez por  Artur Sousa 6 anos, 8 mes atrás.

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #572

    Artur Sousa
    Participante

    Boa Tarde.

    Tentei fazer um conceito de app, para apenas testar a comunicação do AC com o SAT por enquanto, em c#. O código todo é:

    using System;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            //
            [DllImport("C:\\SAT\\SAT_32.dll", CallingConvention = CallingConvention.Cdecl)]
            private static extern string ConsultarSAT(int numeroSessao);
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string resultados = ConsultarSAT(GerarNumSessao());
                MessageBox.Show(resultados);
            }
        }
    }

    Onde “GerarNumSessao()” é um simples método que gera um Int32 de 6 dígitos semi-aleatório baseado na hora atual do computador.

    Ao compilar para x86 e usar a dll 32 bits, recebo o erro:

    Managed Debugging Assistant ‘PInvokeStackImbalance’ : ‘Uma chamada para a função PInvoke ‘WindowsFormsApp1!WindowsFormsApp1.Form1::ConsultarSAT’ desbalanceou a pilha. Isso ocorreu provavelmente porque a assinatura gerenciada de PInvoke não corresponde à assinatura de destino não gerenciada. Verifique se a convenção e o parâmetro de chamada da assinatura de PInvoke são iguais aos da assinatura não gerenciada de destino.’

    Ao compilar em x64 e usar a dll 64 bits, recebo:

    Unhandled exception at 0x00000000777CF3E2 (ntdll.dll) in WindowsFormsApp1.exe: 0xC0000374: Um heap foi corrompido (parameters: 0x0000000077848430).

    O código roda lisinho no emulador de sat fornecido pela SeFaz, mas no SDK só dá esses erros. Alguém tem alguma luz?

    #573

    Rodrigo R. Muniz
    Participante

    Passa seu email

    #574

    Artur Sousa
    Participante

    artur (a) trilhast . com . br

Visualizando 3 posts - 1 até 3 (de 3 do total)

Você deve fazer login para responder a este tópico.