Ir para conteúdo
  • Cadastre-se

dev botao

LibCEP -> Método não exportado


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 946 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa Tarde,

Comecei Hoje a usar a LIbCEP em Linux, consegui fazer as devidas configurações, porém quando vou usar

umas das duas funções para verificar o CEP .....

:BuscarPorCEP( "12345678" )

:BuscarPorLogradouro("Taquara","Rio de Janeiro")

retorna: Método não exportado

segue em anexo os logs

 

acbrlib.ini ACBrLibCEP-20220417.log acbrcep.prg

Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Consultores
Postado
Em 17/04/2022 at 13:35, jamil disse:

Boa Tarde,

Comecei Hoje a usar a LIbCEP em Linux, consegui fazer as devidas configurações, porém quando vou usar

umas das duas funções para verificar o CEP .....

:BuscarPorCEP( "12345678" )

:BuscarPorLogradouro("Taquara","Rio de Janeiro")

retorna: Método não exportado

segue em anexo os logs

 

acbrlib.ini 8 kB · 0 downloads ACBrLibCEP-20220417.log 15 kB · 1 download acbrcep.prg 5 kB · 1 download

Acho que o nome na lib está "CEP_BuscarPorLogradouro". Queira testar por favor.

EDIT: Vamos verificar se o nome vai ser mantido assim.

O nome da função é esse, conforme a documentação:
https://acbr.sourceforge.io/ACBrLib/CEP_BuscarPorLogradouro.html

  • Confuso 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado
3 horas atrás, EMBarbosa disse:

Acho que o nome na lib está "CEP_BuscarPorLogradouro". Queira testar por favor.

EDIT: Vamos verificar se o nome vai ser mantido assim.

O nome da função é esse, conforme a documentação:
https://acbr.sourceforge.io/ACBrLib/CEP_BuscarPorLogradouro.html

Dentro do METHOD usado está correto a chamada como coloquei em anexo

 METHOD BuscarPorCEP(eCEP)
 METHOD BuscarPorLogradouro(eCidade, eTipo_Logradouro, eLogradouro, eUF, eBairro)
 

Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Consultores
Postado
14 minutos atrás, jamil disse:

Dentro do METHOD usado está correto a chamada como coloquei em anexo

 METHOD BuscarPorCEP(eCEP)
 METHOD BuscarPorLogradouro(eCidade, eTipo_Logradouro, eLogradouro, eUF, eBairro)
 

Verifique por favor se a .so que está na sua máquina está com os nomes das funções exportadas corretamente.

Você tem uma distro Gnu?

Se tiver, use o comando:

nm -D /caminho/pra/ACBrLibXXXXXXX.so

Se não tiver, use o comando:

readelf -Ws --dyn-syms /caminho/pra/ACBrLibXXXXXXX.so

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado
1 hora atrás, EMBarbosa disse:

Verifique por favor se a .so que está na sua máquina está com os nomes das funções exportadas corretamente.

Você tem uma distro Gnu?

Se tiver, use o comando:

nm -D /caminho/pra/ACBrLibXXXXXXX.so

Se não tiver, use o comando:

readelf -Ws --dyn-syms /caminho/pra/ACBrLibXXXXXXX.so

Verifiquei..... está ,

Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Consultores
Postado
21 minutos atrás, jamil disse:

Verifiquei..... está ,

Por favor, poste o retorno aqui.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado
7 horas atrás, Daniel Simoes disse:

Me parece que você definiu o nome do .SO errado...

   #ifdef __PLATFORM__LINUX
      #define ACBrLIB 'libacbrcep.so'
   #else

Não deveria ser : 'libacbrcep64.so'   ?

Estś correto veja:

sudo ln -s libacbrboleto64.so libacbrboleto.so
sudo ln -s libacbrmdfe64.so libacbrmdfe.so
sudo ln -s libacbrnfe64.so libacbrnfe.so
sudo ln -s libacbretq64.so libacbretq.so
sudo ln -s libacbrmail64.so libacbrmail.so
sudo ln -s libacbrcep64.so libacbrcep.so
sudo ln -s libacbrposprinter64.so libacbrposprinter.so
 

e os seguintes instruções funcionam na LibCEP:

         :ConfigGravarValor("CEP", "WebService", "11") //1 ou 11 
         :ConfigGravarValor("CEP", "ChaveAcesso", "")
         :ConfigGravarValor("CEP", "Usuario", "")
         :ConfigGravarValor("CEP", "Senha", "")
         :ConfigGravarValor("CEP", "PesquisarIBGE", "0")
 

só o que não funciona, apresenta a mensagem é

:BuscarPorCEP( "12345678" )

:BuscarPorLogradouro("Taquara","Rio de Janeiro")

11 horas atrás, EMBarbosa disse:

Por favor, poste o retorno aqui.

segue conforme solicitado

retorno.txt

Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Fundadores
Postado

@jamil, fiz um teste em Linux, e me pareceu tudo OK, com a LibCEP... veja o Log em anexo

Citar

19/04/22 18:37:14:730 - LIB_Inicializar( ,  )
19/04/22 18:37:14:730 -    ACBrLibCEP - 0.0.1.95
19/04/22 18:37:14:730 - TLibCEPConfig.PrecisaCriptografar(CEP,WebService)
19/04/22 18:37:14:730 - TLibCEPConfig.PrecisaCriptografar - Feito Result: False
19/04/22 18:37:14:730 - LIB_ConfigGravarValor(CEP, WebService, 10)
19/04/22 18:37:14:730 - TLibCEPConfig.PrecisaCriptografar(CEP,WebService)
19/04/22 18:37:14:730 - TLibCEPConfig.PrecisaCriptografar - Feito Result: False
19/04/22 18:37:14:730 - TLibCEPConfig.AjustarValor(tfGravar,CEP,WebService,10)
19/04/22 18:37:14:730 - TLibCEPConfig.AjustarValor - Feito
19/04/22 18:37:14:730 - TLibCEPConfig.AplicarConfiguracoes: /home/tux/Fontes/Pascal/ACBr/Projetos/ACBrLib/Testes/CEP/bin/acbrlib.ini
19/04/22 18:37:14:730 - Travar
19/04/22 18:37:14:730 - Travar
19/04/22 18:37:14:730 - TLibCEPConfig.Gravar: /home/tux/Fontes/Pascal/ACBr/Projetos/ACBrLib/Testes/CEP/bin/acbrlib.ini
19/04/22 18:37:14:731 - TLibCEPConfig.Gravar - Feito
19/04/22 18:37:14:731 - Destravar
19/04/22 18:37:14:731 - TLibCEPConfig.AplicarConfiguracoes - Feito
19/04/22 18:37:14:731 - Destravar
19/04/22 18:37:14:731 -    SetRetorno(0, )
19/04/22 18:37:14:731 - CEP_BuscarPorLogradouro( Tatu[195][173],Rua,Caridade Terceira,SP, )
19/04/22 18:37:14:731 - Travar
19/04/22 18:37:15:056 -    SetRetorno(0, [Endereco1]
Bairro=Colina Verde
CEP=18272-230
Complemento=
IBGE_Municipio=3554003
IBGE_UF=35
Logradouro=Rua Caridade Terceira
Municipio=Tatuí
Tipo_Logradouro=
UF=SP

[CEP]
Quantidade=1
)
19/04/22 18:37:15:056 - Destravar
19/04/22 18:37:15:056 - LIB_Finalizar
19/04/22 18:37:15:056 - Finalizar

 

Você pode me enviar um pequeno PRG, para tentar rodar a sua classe de Bind ?

Onde posso achar instruções atualizadas, de compilação em xHarbour ?

ACBrLibCEP-20220419.log

  • Obrigado 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
1 hora atrás, Daniel Simoes disse:

@jamil, fiz um teste em Linux, e me pareceu tudo OK, com a LibCEP... veja o Log em anexo

 

Você pode me enviar um pequeno PRG, para tentar rodar a sua classe de Bind ?

Onde posso achar instruções atualizadas, de compilação em xHarbour ?

ACBrLibCEP-20220419.log 16 kB · 0 downloads

Boa Noite, segue conforme solicitado

 

Obrigado.

acbr.zip

Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Fundadores
  • Solution
Postado

Consegui montar um ambiente e depurar em Harbour... (lembrei dos meus tempos de Clipper/xHarbour)

Após alguma pesquisa na internet, eu fiz alguns ajustes nos seus .PRGs, para eles funcionarem com a versão MT (Multi Thread)

As Principais mudanças, para uso da versão Multi Thread, são:

A chamada de hb_DynCall, espera receber o Nome da Lib e não o Handle dela... e precisamos recuperar o Ponteiro da Biblioteca que foi alocada, e passar ele como primeiro parâmetro, em todas as demais chamadas...

Deixei em negrito as modificações.

Citar

 

    hResult := hb_DynCall({"CEP_Inicializar", ACBrLIB, DLL_OSAPI}, @::MTHandle, hb_StrToUTF8(eArqConfig), hb_StrToUTF8(eChaveCrypt))

    hb_DynCall({"CEP_Finalizar", ACBrLIB, DLL_OSAPI}, ::MTHandle)

 

Os PRGs modificados, podem ser encontrados no SVN

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/CEP_MT_Linux/

 

image.png

  • Curtir 1
  • Obrigado 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
11 horas atrás, Daniel Simoes disse:

Consegui montar um ambiente e depurar em Harbour... (lembrei dos meus tempos de Clipper/xHarbour)

Após alguma pesquisa na internet, eu fiz alguns ajustes nos seus .PRGs, para eles funcionarem com a versão MT (Multi Thread)

As Principais mudanças, para uso da versão Multi Thread, são:

A chamada de hb_DynCall, espera receber o Nome da Lib e não o Handle dela... e precisamos recuperar o Ponteiro da Biblioteca que foi alocada, e passar ele como primeiro parâmetro, em todas as demais chamadas...

Deixei em negrito as modificações.

Os PRGs modificados, podem ser encontrados no SVN

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/CEP_MT_Linux/

 

image.png

Obrigado Pela Aula....

Tudo Funcionando.

  • Obrigado 1
Jamil Santos de Araújo

Engenheiro de sistemas /  Tec. Contabil

  • Este tópico foi criado há 946 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.