Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 246 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Estou tentando usar a ACBrLibNfe e/ou libacbrconsultacnpj em c++, mas não achei os arquivos .h, mesmo assim para libnfe tentei usar o exemplo do repositorio para c++ mas estou tendo erro Segmentation Fault, alguem pode me confirmar se o exemplo esta funcionando corretamente? estou usando linux 64.

  • Consultores
Postado

Bom dia, 

Está usando lib single thread ou multi-thread ?

Segue exemplo multi-thread

 

#include <stdio.h>
#include <stdlib.h>


#ifndef NFE_H
#define NFE_H

extern "C" {
int NFE_Inicializar(void ** plibHandle, const char * arquivoConfig, const char * chaveCrypt);
int NFE_Finalizar(void * plibHandle);
int NFE_ConfigLer(void * handle,const char * eArqConfig);
int NFE_ConfigLerValor(void *handle,const char * eSessao, const char * eChave, char * sValor, int * esTamanho);
int NFE_ConfigGravarValor(void * handle,const char * eSessao, const char * eChave, char * sValor);
int NFE_UltimoRetorno(void *handle, char * sMensagem, int * sTamanho);
int NFE_Nome(void *handle, char * sNome, int * esTamanho);
int NFE_Versao(void *handle, char * sVersao, int * esTamanho);
int NFE_ConfigImportar(void * handle, const char * eArqConfig);
int NFE_ConfigExportar(void *handle, char * sMensagem, int * esTamanho);
int NFE_ConfigGravar(void *handle, const char * eArqConfig);
int NFE_OpenSSLInfo(void *handle, char * sOpenSslInfo, int * esTamanho);
int NFE_StatusServico(void *handle,char * buffer, int * esTamanho);
int NFE_ValidarRegrasdeNegocios(void * handle, char * resposta, int * tamanho);
int NFE_CarregarXML(void * handle, const char * eArquivoOuXML);
}
#endif //NFE_H

 

  • Consultores
Postado
24 minutos atrás, Rafael Chuede disse:

Estou tentando usar a ACBrLibNfe e/ou libacbrconsultacnpj em c++, mas não achei os arquivos .h, mesmo assim para libnfe tentei usar o exemplo do repositorio para c++ mas estou tendo erro Segmentation Fault, alguem pode me confirmar se o exemplo esta funcionando corretamente? estou usando linux 64.

por desencargo é o C++ Builder da embarcadero?
se sim existe algo no projeto em que tu consegue rodar os componentes direto nele

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
52 minutos atrás, danieloliveira-mm disse:

Bom dia, 

Está usando lib single thread ou multi-thread ?

Segue exemplo multi-thread

 

#include <stdio.h>
#include <stdlib.h>


#ifndef NFE_H
#define NFE_H

extern "C" {
int NFE_Inicializar(void ** plibHandle, const char * arquivoConfig, const char * chaveCrypt);
int NFE_Finalizar(void * plibHandle);
int NFE_ConfigLer(void * handle,const char * eArqConfig);
int NFE_ConfigLerValor(void *handle,const char * eSessao, const char * eChave, char * sValor, int * esTamanho);
int NFE_ConfigGravarValor(void * handle,const char * eSessao, const char * eChave, char * sValor);
int NFE_UltimoRetorno(void *handle, char * sMensagem, int * sTamanho);
int NFE_Nome(void *handle, char * sNome, int * esTamanho);
int NFE_Versao(void *handle, char * sVersao, int * esTamanho);
int NFE_ConfigImportar(void * handle, const char * eArqConfig);
int NFE_ConfigExportar(void *handle, char * sMensagem, int * esTamanho);
int NFE_ConfigGravar(void *handle, const char * eArqConfig);
int NFE_OpenSSLInfo(void *handle, char * sOpenSslInfo, int * esTamanho);
int NFE_StatusServico(void *handle,char * buffer, int * esTamanho);
int NFE_ValidarRegrasdeNegocios(void * handle, char * resposta, int * tamanho);
int NFE_CarregarXML(void * handle, const char * eArquivoOuXML);
}
#endif //NFE_H

 

Não tenho certeza mas acho que é multi thread, não teria um exemplo simples completo para eu testar a integração da lib? algo por exemplo que só retorne o status_serviço, tentei usar esse header e a biblioteca é inicializada mas ainda tenho problema com as funções.

55 minutos atrás, Juliomar Marchetti disse:

por desencargo é o C++ Builder da embarcadero?
se sim existe algo no projeto em que tu consegue rodar os componentes direto nele

Não, para testes estou apenas tentando compilar com g++ cru mesmo.

Postado

Boa tarde, descobri o problema: eu estava compilando a lib para ST e o exemplo usa apenas MT.
Outra coisa é que no exemplo esta faltando incluir a lib <memory> e colocar os metodos nome e versão começando com letra maiuscula, de resto o exemplo compila e executa certinho se tiver  a lib multithread em /usr/lib. 
Gostaria tambem se for possivel dos headers para a lib ACBrConsultaCNPJ, ou uma explicação sobre como faze-los.

  • Consultores
Postado

Mesmo procedimento, o que muda é o prefixo, o nome da lib 

Leia a documentação, e mapeie as funções assim:

int CNPJ_Inicializar(void ** handle, char * eArquivoConfig, char * eChaveCrypt);
int CNPJ_Consultar (void * handle, char *eCNPJ, char * sResposta, int * esTamanho);

 

  • Este tópico foi criado há 246 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.