Jump to content
Fivewin Brasil

SAT EPSON / GERTEC dll


luiz53

Recommended Posts

Alguem  conseguiu utilizar esses SAT USANDO A DLL GERSAT.DLL ????

esta travando no ConsultaStatusOperacional. 
 

*******************************************************************************
function Ativa_DllSat()
*******************************************************************************
if hb_isnil(oLib)
   oLib := LoadLib32( "GERSAT.DLL" )
endif
return (oLib > 0)

DLL32 FUNCTION GER_ConsultarStatusOperacional(numeroSessao AS _INT,codigoDeAtivacao AS STRING)  ;
AS _INT PASCAL FROM "ConsultarStatusOperacional" LIB oLib

 

Link to comment
Share on other sites

Amiguinhos,

 

Onde vocês pegaram o conhecimento que SAT Epson funciona com a GERSAT.DLL?

Fiquei curioso já que pelo meu entendimento cada fabricante cria ou dá nome a sua .DLL mesmo que sejam de mesma fonte fabricante como o caso do DIMEP e ELGIN que usam a mesma base de hardware mas diferentes .DLLs.

Link to comment
Share on other sites

 

Amiguinhos,

 

Onde vocês pegaram o conhecimento que SAT Epson funciona com a GERSAT.DLL?

Fiquei curioso já que pelo meu entendimento cada fabricante cria ou dá nome a sua .DLL mesmo que sejam de mesma fonte fabricante como o caso do DIMEP e ELGIN que usam a mesma base de hardware mas diferentes .DLLs.

 

 

No manual da EPSON esta especificado ....
MAS consegui resolver o PROBLEMA DA DLL da epson...

segue abaixo a solução...
PARECE que esta funcionando corretamente agora...

 

Link to comment
Share on other sites

 

static oLib
#define DC_CALL_CDECL          0x0010
#define DC_CALL_STD            0x0020

***********************************************************
function main()
***********************************************************
local sessao   := HB_RandomInt(1,999999)
local cret 
local aRet
// usar este comando apenas no inicio do programa
Ativa_DllSat()

*******************************************
//consultar Status
*******************************************

cRet := GER_ConsultarStatusOperacional(sessao,'00000000')
        cRet := GetStringFromPointer(cRet)
        aRet := HB_ATokens(cRet,"|")
xbrowse( aRet) 

*******************************************
//para vender 
*******************************************
           cRet := ger_EnviarDadosVenda(sessao,'00000000',xml)
           cRet := GetStringFromPointer(cRet)
           aRet := HB_ATokens(cRet,"|")
xbrowse( aRet) 
*******************************************
//para cancelar
*******************************************
           cRet := ger_CancelarUltimaVenda(sessao,'00000000',cChaveCFe,xml)
           cRet := GetStringFromPointer(cRet)
           aRet := HB_ATokens(cRet,"|")
*******************************************


// usar este comando apenas no final do programa 
Desativa_DllSat()
return nil



*******************************************************************************
function Ativa_DllSat()
*******************************************************************************

if hb_isnil(oLib)
   oLib := DllLoad( "GERSAT.DLL" )
endif
return !hb_isnil(oLib)


*******************************************************************************
function Desativa_DllSat()
*******************************************************************************
   if !hb_isnil(oLib)
      DllUNLoad( oLib )
   endif
return nil

//------------------------------------------------------------------------------------------------------------
//- EPSON - GERTEC
//------------------------------------------------------------------------------------------------------------
**************************************************************************************************************
function GER_ConsultarStatusOperacional( numeroSessao,codigoDeAtivacao )
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "ConsultarStatusOperacional" , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao               )  //
return nResult


**************************************************************************************************************
function GER_EnviarDadosVenda(numeroSessao,codigoDeAtivacao,dados)
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "EnviarDadosVenda"           , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao             , ;  //
                   dados                          )  //
return nResult


**************************************************************************************************************
FUNCTION GER_CancelarUltimaVenda(numeroSessao,codigoDeAtivacao,chave,dadoscancel)
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "CancelarUltimaVenda"        , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao             , ;  //
                   chave                        , ;  //
                   dadoscancel                    )  //
return nResult

**************************************************************************************************************
FUNCTION GER_ConsultarNumeroSessao(numeroSessao,codigoDeAtivacao,sessao_a_ser_consultada)
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "ConsultarNumeroSessao"      , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao             , ;  //
                   sessao_a_ser_consultada        )  //
return nResult

**************************************************************************************************************
FUNCTION GER_ExtrairLogs(numeroSessao,codigoDeAtivacao)
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "ExtrairLogs"                , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao               )  //
return nResult

**************************************************************************************************************
FUNCTION GER_TesteFimAFim(numeroSessao,codigoDeAtivacao,dados)
**************************************************************************************************************
LOCAL nResult
      nResult := DllCall(oLib                   , ;  //
                   DC_CALL_STD                  , ;  //
                   "TesteFimAFim"               , ;  //
                   numeroSessao                 , ;  //
                   codigoDeAtivacao             , ;  //
                   dados                          )  //
return nResult

*******************************************************************************
FUNCTION GetStringFromPointer(lpString)
*******************************************************************************
local szBuffer    := ""
   If IsBadStringPtrByLong(lpString, 1024) <> 0
       msgalert("Attempt to read bad string pointer: " + lpString)
       return ""
   Endif
   szBuffer    := REPLICATE( Chr(0), 3072000)
   ConvCStringToVBString(szBuffer, lpString)
return szBuffer

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...