OK, Cristiano.
O que estou solicitando é que a sat.dll seja compilada em ambiente X86, pois, do contrario, algumas instruções geradas na compilação o serão para X64. Sendo compilada em ambiente X86, a mesma poderá ser utilizada em qualquer ambiente, independente seja X86 ou X64. Entendo que tenha sido testada nos dois ambientes, mas nossos clientes tem ambientes bem variados, pois atendemos clientes com maquinas que relutam em trocar, e que utilizam ainda desde windows XP ate windows 8, sendo que em windows XP, se não for conforme sugerido, teremos alguns problemas de compatibilidade, assim como windows 8 X64, tambem podemos ter.
Bom Dia, DataCross
Eu passaria os parametros da seguinte forma:
Text1.Text = ConsultarStatusOperacional(236202, “12345678”)
sendo que numeroSessao deve ter a definição inteiro, e codigoDeAtivacao string
Bom Dia, ferdead
Eu utilizo C#, e esta funcionando ok, exceto em sistemas com X64, onde a dll apresenta erro. Criei um topico sobre isso, e imagino que minha sugestão, se acatada pelo suporte tecnico da Tanca, deva resolver.
Em todo caso, se lhe for útil, seguem meus declares em C#, que não são muito difíceis de passar para vb.net
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ConsultarStatusOperacional(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string AtivarSAT(int numeroSessao, int subComando, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string CNPJ, int cUF);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ComunicarCertificadoICPBRASIL(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string certificado);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string EnviarDadosVenda(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string dadosVenda);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string CancelarUltimaVenda(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string chave, [MarshalAs(UnmanagedType.LPStr)] string dadosCancelamento);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ConsultarSAT(int numeroSessao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string TesteFimAFim(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string dadosVenda);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ConsultarNumeroSessao(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao, int cNumeroDeSessao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ConfigurarInterfaceDeRede(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string dadosConfiguracao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string AssociarAssinatura(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string CNPJvalue, // CNPJvalue = Desenvolvedor + Emitente
[MarshalAs(UnmanagedType.LPStr)] string assinaturaCNPJs);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string AtualizarSoftwareSAT(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string ExtrairLogs(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string BloquearSAT(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string DesbloquearSAT(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao);
//
[DllImport(strSATDLL, CallingConvention = CallingConvention.Cdecl)]
private static extern string TrocarCodigoDeAtivacao(int numeroSessao, [MarshalAs(UnmanagedType.LPStr)] string codigoDeAtivacao,
[MarshalAs(UnmanagedType.LPStr)] string opcao,
[MarshalAs(UnmanagedType.LPStr)] string novoCodigo,
[MarshalAs(UnmanagedType.LPStr)] string confNovoCodigo);
//