Clipper On Line • Ver Tópico - SAT-Fiscal a mistica está desvendada.
Mudar para estilo Clássico
Discussão sobre outras linguagens de programação.
Postar uma resposta

SAT-Fiscal a mistica está desvendada.

08 Fev 2013 14:46

Pessoal

Sei que é um forum de clipper, mas a partir daqui pude fazer as implementações no visual studio 2010 vb.net

So que to com alguns problemas.

Consegui implementar para o vb.net, o programa manda a instrução para o emulador so que ocorre o seguinte erro:
Código:
<DllImport("sat.dll")>
    Public Shared Function ConsultarSAT(ByVal nSessionRandom As Integer) As String
    End Function

    Public Shared Function fConsultarSAT(ByVal nSessionRandom As Integer) As Array

        Dim cString As String = ""

        Try
            cString = sat.ConsultarSAT(nSessionRandom).ToString
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

        Return Split(cString, "|")

    End Function

    t_retorno = bibliotecasat.fConsultarSAT(t_sessao)

A call to PInvoke function 'balcao!retaguarda.sat::ConsultarSAT' has unbalanced the stack.
This is likely because the managed PInvoke signature does not match the unmanaged target signature.
Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.

Alguem saberia me dizer o que pode ser ou ate mesmo dar uma luz por onde devo prosseguir agradeço...
Editado pela última vez por Pablo César em 08 Fev 2013 15:20, no total de 2 vez
Razão: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui

SAT-Fiscal a mistica está desvendada.

08 Fev 2013 15:22

Seja bem vindo ao fórum Angelo !

Sabemos que é a sua primeira postagem e na primeira vez ficamos um pouco perdidos. Mas entenda que você está requerendo uma solução em VB e não na nossa linguagem xBase. Digo isto pela sua apresentação de código.

SAT-Fiscal a mistica está desvendada.

08 Fev 2013 23:18

Amiguinho,

Nós ficamos felizes por saber que nossas implementações deram margem para singrar os muros das plataformas.

Não programo em outras linguagens, mas dou minhas puladinhas de cerca.

No seu código vejo que usou:
Código:
<DllImport("sat.dll")>


Pelo que vejo nos codigos por ai, sempre encontro:
Código:
[DllImport("sat.dll")]


Acho também que voce deverá adequar o formato de chamadas para a convensão CDECL, formato que padroniza estes tipos de intercambio sendo o mais indicado para métodos e funções que aceitem um numero variável de parametros.
Código:
[DllImport("sat.dll", CallingConvention=CallingConvention.Cdecl)]
.

Verifique se funciona com:
Código:
[DllImport("sat.dll", CallingConvention=CallingConvention.Cdecl)]
Public Shared Function LPTStr ConsultarSAT( uint nSessionRandom)
         End Function
.
Postar uma resposta