quando esta ok os dados da NFe funciona uma blz, mas quando retorna -10, -11 ele nao da retorno, vou colocar o methodos que utlizo.
METHOD CheckResult(hResult) CLASS ACBrNFe
local buffer, bufferLen, oErr
if hResult >= 0
RETURN nil
endif
bufferLen := STR_LEN
buffer := Space(bufferLen)
DllCall(::hHandle, DLL_OSAPI, "NFE_UltimoRetorno", @buffer, @bufferLen)
if bufferLen > STR_LEN
buffer := Space(bufferLen)
DllCall(::hHandle, DLL_OSAPI, "NFE_UltimoRetorno", @buffer, @bufferLen)
endif
oErr := ErrorNew()
oErr:Severity := ES_ERROR
oErr:Description := hb_UTF8ToStr(buffer)
oErr:CanDefault := .T.
oErr:CanRetry := .F.
oErr:CanSubstitute := .F.
Throw(oErr)
RETURN nil
METHOD Validar() CLASS ACBrNFe
local hResult
hResult := DllCall(::hHandle, DLL_OSAPI, "NFE_Validar")
::CheckResult(hResult)
RETURN nil
Neste caso ele gera um exception e lanca pelo Throw, mas da como erro do sistema e QUIT e na verdade teria qu somente gerar a string com o set retorno , nao seria?
LibNFe.prg