luiz53 Posted November 11, 2017 Report Share Posted November 11, 2017 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 KennethTymnLY 1 Quote Link to comment Share on other sites More sharing options...
fladimir Posted November 11, 2017 Report Share Posted November 11, 2017 somente via ACBr Quote Link to comment Share on other sites More sharing options...
luiz53 Posted November 13, 2017 Author Report Share Posted November 13, 2017 Caramba.... Não tem logica uma DLL não funcionar COM HARBOUR... VAMOS VER SE CONSIGO ALGO DIRETO COM A EPSON.... Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted November 13, 2017 Report Share Posted November 13, 2017 Aqui tb estou com problema no SAT da epson, comprei umas rotinas do Gilmer na época que iniciei o SAT no meu sistema, com estas rotinas só fui substituindo as DLL (bematech, elgin e sweda) e sempre deu certo, agora com a epson sem sucesso aqui. Abs Luiz Fernando luiz53 1 Quote Link to comment Share on other sites More sharing options...
rochinha Posted November 14, 2017 Report Share Posted November 14, 2017 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. Interface DLL v1.9.0 Quote Link to comment Share on other sites More sharing options...
luiz53 Posted November 14, 2017 Author Report Share Posted November 14, 2017 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. Interface DLL v1.9.0 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... Quote Link to comment Share on other sites More sharing options...
luiz53 Posted November 14, 2017 Author Report Share Posted November 14, 2017 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.