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!
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.