Jump to content
Fivewin Brasil

ACBRLIB ou melhor ACBRDLL


Jorge Andrade

Recommended Posts

As Dlls, estão disponíveis para clientes Sac. Para ser cliente Sac, basta se cadastrar no ACBR, pagar uma mensalidade (R$120,00)  e vc poderá baixar tudo o que existe nas áreas de downloads disponíveis para usuários Sac, mas não é obrigado a pagar todos os meses, somente quando vc precisar e querer atualizar, diferentemente de outros que tem que pagar mensalmente e por CNPJ.

Nada contra, mas sempre preferi ser de certa forma independente e isso não significa que daqui há alguns anos o ACBR não passe a ser taxado também.

[]s,

Link to comment
Share on other sites

  • 4 weeks later...

Caro Jorge Andrade, primeiro quero parabenizar pela sua parceria com AcBR para disponibilizar produto muito importante e legal para nosso universo (x)Harbour.

A princípio preciso do AcBr Boletos, como manda o figurino estou fazendo os primeiros testes, apresentou a seguinte mensagem:  

Compiling: ACBrBoletoDemo.prg...
Linking: AcBrBol.exe...
Error: Unresolved external '_hb_stackGetRecoverBase' referenced from C:\USERS\SILVA\DOCUMENTS\XAILER\PROJECTS\OBJ\DEBUGGER.OBJ
1 Files, 0 Warnings, 1 Errors
Compile time: 0.65s   Link time: 1.97s   Total time: 2.64s

Também sentiu falta da função hb_dirBase() fiz assim:

boleto:ConfigGravarValor("Principal", "LogPath", "c:\correio\" ) //hb_dirBase())

compilando com xHarbour

Obrigado! 

 

Link to comment
Share on other sites

 

Caro Jorge Andrade, primeiro quero parabenizar pela sua parceria com AcBR para disponibilizar produto muito importante e legal para nosso universo (x)Harbour.

A princípio preciso do AcBr Boletos, como manda o figurino estou fazendo os primeiros testes, apresentou a seguinte mensagem:  

Compiling: ACBrBoletoDemo.prg...
Linking: AcBrBol.exe...
Error: Unresolved external '_hb_stackGetRecoverBase' referenced from C:\USERS\SILVA\DOCUMENTS\XAILER\PROJECTS\OBJ\DEBUGGER.OBJ
1 Files, 0 Warnings, 1 Errors
Compile time: 0.65s   Link time: 1.97s   Total time: 2.64s

Também sentiu falta da função hb_dirBase() fiz assim:

boleto:ConfigGravarValor("Principal", "LogPath", "c:\correio\" ) //hb_dirBase())

compilando com xHarbour

Obrigado! 

 

Com relação a função ela realmente não existe no xHb e vc fez certo, porém eu não uso/compilo o debugger. Outra coisa amigo, não é parceria, está a disposição de todos e como é um código aberto, quem manja de Lazarus e Delphi, pode pegar os fontes e compilar, mas agradeço ao Gilmer permitir a divulgação.

[]s,

Link to comment
Share on other sites

 

Com relação a função ela realmente não existe no xHb e vc fez certo, porém eu não uso/compilo o debugger. Outra coisa amigo, não é parceria, está a disposição de todos e como é um código aberto, quem manja de Lazarus e Delphi, pode pegar os fontes e compilar, mas agradeço ao Gilmer permitir a divulgação.

[]s,

Obrigado! disse parceria (colaborador) porque, assim está no fórum da ACBr.

https://www.projetoacbr.com.br/forum/topic/54256-exemplo-harbour-acbrlib-boleto/?do=findComment&comment=356502

Por gentileza, você tem link para baixar a o arquivo ACBrBoleto32.dll (demo para testes)

Obrigado! 

 

Link to comment
Share on other sites

 

Obrigado! disse parceria (colaborador) porque, assim está no fórum da ACBr.

https://www.projetoacbr.com.br/forum/topic/54256-exemplo-harbour-acbrlib-boleto/?do=findComment&comment=356502

Por gentileza, você tem link para baixar a o arquivo ACBrBoleto32.dll (demo para testes)

Obrigado! 

 

Jorge, Não consegui testar, se tiver alguma dica. 

Link to comment
Share on other sites

 

Pessoal é interessante que divulguem os testes que obtiveram sucessos ao utilizar as libs, pq assim outros poderão ajudar no processo e podem também divulgar no fórum acbr.

 

[]s,

O problema é como e onde conseguir a DLL, pq nos exemplos, especificamente a classe, faz a leitura, mas a DLL não está no repositório. O site deles não ajuda muito... pesquisei não encontrei. 

Link to comment
Share on other sites

 

O problema é como e onde conseguir a DLL, pq nos exemplos, especificamente a classe, faz a leitura, mas a DLL não está no repositório. O site deles não ajuda muito... pesquisei não encontrei. 

 

 

O problema é como e onde conseguir a DLL, pq nos exemplos, especificamente a classe, faz a leitura, mas a DLL não está no repositório. O site deles não ajuda muito... pesquisei não encontrei. 

É que as Dll's estão disponíveis para usuários SAC, leia msg em off.

 

Quem quiser baixar as dll's usar este link:

https://www.projetoacbr.com.br/forum/files/category/36-acbrlib/

[]s,

Link to comment
Share on other sites

 

 

É que as Dll's estão disponíveis para usuários SAC, leia msg em off.

 

Quem quiser baixar as dll's usar este link:

https://www.projetoacbr.com.br/forum/files/category/36-acbrlib/

[]s,

Jorge, Bom Dia!

Consegui com o cadastro e contato do suporte via WhatsAPP baixar a dll para 15 dias de testes, valeu!

O problema é que o cadastro "SAC Trial" não é liberado na hora, demora 24 horas no minimo!

Ate momento consegui com sucesso a compilação da da classe que tem um BUG, agora simular um boleto, se vc ou alguém do grupo possuir alguma função com exemplos pronto com uso da solução boleto da ACBr e puder compartilhar agradeço! 

Link to comment
Share on other sites

  • 9 months later...
Em 21/10/2019 at 09:41, Jmsilva disse:

Jorge, Bom Dia!

Consegui com o cadastro e contato do suporte via WhatsAPP baixar a dll para 15 dias de testes, valeu!

O problema é que o cadastro "SAC Trial" não é liberado na hora, demora 24 horas no minimo!

Ate momento consegui com sucesso a compilação da da classe que tem um BUG, agora simular um boleto, se vc ou alguém do grupo possuir alguma função com exemplos pronto com uso da solução boleto da ACBr e puder compartilhar agradeço! 

Desculpe, andei afastado do grupo, mas se eu fosse vc, partiria pra suar direto a dll e nem precisa usar  classe, embora a classe facilita td.

Link to comment
Share on other sites

Oscar, boa noite, tenho alguns comandos que podem te ajudar usando a DLL direto, embora eu seja um dos difusores da DLL, não a implementei pq estou focando no MOBILE, espero que te ajude.

 

#define STR_LEN 256
#include "hbclass.ch"
#include "error.ch"

//LOAD NA DLL
xLib :=  LibLoad( "ACBrNFe32.dll" ) //DllLoad("ACBrNFe32.dll")

IF xLib == nil
   ?"erro na carga da dll"
   INKEY(0)
ENDIF   

//INICIARLIZAR A DLL
xInicializarDll := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_Inicializar","\MINHAPASTA\ACBrLib.ini")

IF xInicializarDll <> 0
   ?"erro Inicializar Ini"
   INKEY(0)
ENDIF   

//CARREGAR ARQUIVO INI JÁ CRIADO ANTERIORMENTE
//inicarregado := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_ConfigLer","\MINHAPASTA\ACBrLib.ini")

DETERMIHNAR CERTIFICADO
xRetornoStatusCertficado := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_ConfigGravarValor","ArquivoPFX", "\MINHAPASTA\CERTIFICADO.pfx")

IF xRetornoStatusCertficado <> 0
   ?"erro de certificado"
   INKEY(0)
ENDIF   

//CARREGAR LOGO
xRetornlogo := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_ConfigGravarValor","PathLogo", "MINHAPASTA\LOGO.bmp")

//GRAVAR INI
xRetorngravar := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_ConfigGravar","")

//forma de emissao
 
xRetorn4 := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "FormaEmissao", "0")

//FORMA DE AMBIENTE
xRetornFormaEmissao := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "Ambiente", "0")

//PREPARAR EMISSAO
xRetornNFE_Carregar := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_CarregarXML","\MINHAPASTA\nomedoxml.xml")

//IMPRIMIR
xRetornNFE_Imprimir := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_Imprimir",,1,,,,,)


xRetornlimparmemoria := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "LimparLista")

xRetornNFE_Finalizar := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_Finalizar")

 

[]s,

 

 

 

Link to comment
Share on other sites

Pessoal,

Vamos implementar essa DLL na aplicação no lugar do ACBrNFeMonitor?

Estou tentando usar a Classe anexa, mas se não conseguir vou tentar usar diretamente a DLL.

Estou compilando sem erro e consigo imprimir um XML assim:

   local nfe

   nfe := ACBrNFe():New()

   nfe:ConfigGravarValor("Principal", "LogNivel", "4")
   nfe:ConfigGravarValor("Principal", "LogPath",  "Logs")
   nfe:ConfigGravar()

   nfe:CarregarXML("nfe.xml")

   nfe:Imprimir("", 1, "", "True", "will.jpg", "", "")

   ?nfe:Nome
   ?nfe:Versao
 

Daí tentei um comando que gera um retorno, mas a resposta está sempre em branco:

      nfe:=ACBrNFe():New()

      ? nfe:StatusServico()
 

Alguma idéia?

 

 

acbrlib.prg

Link to comment
Share on other sites

18 minutos atrás, oribeiro disse:

Pessoal,

Vamos implementar essa DLL na aplicação no lugar do ACBrNFeMonitor?

Estou tentando usar a Classe anexa, mas se não conseguir vou tentar usar diretamente a DLL.

Estou compilando sem erro e consigo imprimir um XML assim:

   local nfe

   nfe := ACBrNFe():New()

   nfe:ConfigGravarValor("Principal", "LogNivel", "4")
   nfe:ConfigGravarValor("Principal", "LogPath",  "Logs")
   nfe:ConfigGravar()

   nfe:CarregarXML("nfe.xml")

   nfe:Imprimir("", 1, "", "True", "will.jpg", "", "")

   ?nfe:Nome
   ?nfe:Versao
 

Daí tentei um comando que gera um retorno, mas a resposta está sempre em branco:

      nfe:=ACBrNFe():New()

      ? nfe:StatusServico()
 

Alguma idéia?

 

 

acbrlib.prg 15 kB · 1 download

Te passei acima usando somente a dll.

Link to comment
Share on other sites

18 minutos atrás, oribeiro disse:

Estou tentando das duas formas:

A sua forma também funcionou. Gostei muito!

Estou tentando descobrir como leio o retorno da DLL.

Você pode, por favor, me enviar um exemplo da verificação do Status do Serviço para eu ver como você trata o retorno?

xRetornoStatusWeb := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_StatusServico")

Lembre que, ao vc criar o INI e estiver td certo, vc só precisa carregar ele da próxima vez entendeu? O retorno veja no manual.

 

Link to comment
Share on other sites

Em 26/08/2020 at 21:13, Jorge Andrade disse:

xRetornoStatusWeb := DllCall( "ACBrNFe32.dll",  "DC_CALL_STD" , "NFE_StatusServico")

Lembre que, ao vc criar o INI e estiver td certo, vc só precisa carregar ele da próxima vez entendeu? O retorno veja no manual.

 

Estou a uma semana estudando essa DLL e gostando muito. Vou substituir todos os comandos que utilizo com o monitor pelos da DLL.

Me diz uma coisa, para eu conseguir uma resposta do NFE_StatusServico, o que eu preciso configurar primeiro? Certificado Digital? UF? Etc. Pergunto isso porque o comando só está me retornando (-10).

Link to comment
Share on other sites

Não sei o que estou fazendo de errado, um simples comando como esse abaixo trava a minha aplicação.

   // LÊ UMA TAG DO ARQUIVO ACBRLIB.INI //
   cBuffer := Space( STR_LEN ) // STR_LEN = 256
   oNFe := DllCall( oACBrLib, "DLL_STDCALL", "NFE_ConfigLerValor", "DFe", "ArquivoPFX", cBuffer, STR_LEN)  // ESTÁ TRAVANDO NO RETORNO

 

Deu ERRO IRRECUPERÁVEL 9015 - hb_vmDo()

Assinatura do erro:
  Nome do Evento de Problema:    APPCRASH
  Nome do Aplicativo:    TESTACBR.exe
  Versão do Aplicativo:    0.0.0.0
  Carimbo de Data/Hora do Aplicativo:    00000000
  Nome do Módulo de Falhas:    ACBrNFe32.dll
  Versão do Módulo de Falhas:    0.4.6.92
  Carimbo de Data/Hora do Módulo de Falhas:    00000000
  Código de Exceção:    c0000005
  Deslocamento de Exceção:    00045e22
  Versão do sistema operacional:    6.1.7601.2.1.0.18.10
  Identificação da Localidade:    1046
  Informações Adicionais 1:    0a9e
  Informações Adicionais 2:    0a9e372d3b4ad19135b953a78882e789
  Informações Adicionais 3:    0a9e
  Informações Adicionais 4:    0a9e372d3b4ad19135b953a78882e789

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...