Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 27-01-2019 em todas as áreas

  1. A solução parece estar do lado da aplicação... Basta não enviar valores com mais de 2 decimais para o componente... Você pode fazer isso, usando o método RoundTo (do Delphi) ou RoundABNT da ACBrUtil.pas
    1 ponto
  2. Bom dia amigos, estou usando o emulador do SAT encontrado no site da SEFAZ para testar minha aplicação em C# .NET. Estou com um problema que, quando tento consumir a SAT.dll, todos os métodos importados da DLL por qual minha aplicação passa, ela fecha inesperadamente sem dar catch em nenhum exceção. Estou importando a DLL dessa forma: [DllImport("dllsat.dll", CallingConvention = CallingConvention.Cdecl)] public static extern string EnviarDadosVenda(int iNumSessao, string pcCodAtivacao, string pcDadosVenda); No meu método, esta assim: public static void enviarDadosCFeToSat() { try { var xml = readFileXML(); int numSessao = gerarNumeroSessao(); string codAtivacao = "123456789"; var resposta = EnviarDadosVenda(numSessao, codAtivacao, xml); } catch { throw; } } Ao passar pelo método EnviarDadosVenda(x, y, z), a resposta no LOG é: Entendo que o XML possa estar errado, mas a minha aplicação fecha inesperadamente e não importa qual tratamento que dou, ele não apresenta a exceção. Alguém sabe como implementar de forma que a aplicação não feche? Mesmo os métodos que passam com sucesso pela dll acabam por fechar após chamar a DLL. Grato
    1 ponto
  3. Já resolvi! Se puderem fechar o post, agradeço. Se alguém passar por isso no futuro, segue a solução abaixo. Tive que fazer as seguintes modificações no código: [DllImport("dllsat.dll", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr EnviarDadosVenda(int iNumSessao, string pcCodAtivacao, string pcDadosVenda); e no meu método: public static void enviarDadosCFeToSat() { try { readFileXML(); int numSessao = 2; string codAtivacao = "123456789"; IntPtr ptr = EnviarDadosVenda(numSessao, codAtivacao, xml); string s = Marshal.PtrToStringAnsi(ptr); } catch { throw; } }
    1 ponto
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.