Ir para conteúdo
  • Cadastre-se

desdobrar

Membros
  • Total de ítens

    22
  • Registro em

  • Última visita

Community Answers

  1. desdobrar's post in Lib. do Acbr não executa em MultiThreads utilizando Node.js was marked as the answer   
    Boa tarde, achamos o problema, o @CODIGO SISTEMAS LTDA Luiz Augusto, conseguiu achar o problema.
    basicamente o problema era na execução e criação do pointer, segue como foi solucionado.
    A chamada da Lib ficou assim
    let handlePtr = ref.refType('int'); const libm = ffi.Library(pathDllACBrLibNFe, { NFE_Inicializar: ['int', [handlePtr, 'string', 'string']], NFE_Finalizar: ['int', [handlePtr]], NFE_UltimoRetorno: ['int', [handlePtr, 'string', 'string']], NFE_Nome: ['int',[handlePtr, 'string','string']], NFE_Versao: ['int', [handlePtr, 'string','string']], NFE_ConfigLer: ['int', [handlePtr, 'string']], NFE_ConfigGravar: ['int', [handlePtr, 'string']], NFE_ConfigLerValor: ['int',[handlePtr,'string','string','string','string']], NFE_ConfigGravarValor: ['int', [handlePtr, 'string', 'string', 'string']], NFE_ConfigImportar: ['int',[handlePtr, 'string']], NFE_ConfigExportar: ['int',[handlePtr, 'string','string']], NFE_ObterCertificados: ['int',[handlePtr, 'string','string']], NFE_CarregarXML: ['int', [handlePtr, 'string']], NFE_SalvarPDF: ['int',[handlePtr, 'string','string']], });  
    A execução da inicialização ficou assim:
    let handle = ref.alloc(handlePtr); libm.NFE_Inicializar(handle, '', eChaveCrypt); handle = handle.deref();  
    e os demais métodos vc chama da mesma forma
    libm.NFE_ConfigGravarValor(handle, 'Principal', 'TipoResposta', '2'); OBS: a execução em node ainda depende da funcionalidade worker_threads, pois ainda precisa fazer o node executar varias instancias. ainda estou finalizando os testes e logo mais estarei criando um exemplo bem limpo e objetivo pra poder ser anexado nos exemplos em node js. Obrigado! 
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.