Jump to content

dev botao

Usando ACBrLib com Harbour para NFSe


Go to solution Solved by jarbasjrsa,
  • Este tópico foi criado há 477 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

boa tarde pessoal , peguei o ACBrNFSe.PRG na pasta DEMO/Harbour , consigo compilar , gerar o EXE , usando o "ACBrNFSe():New()" a DLL cria o .INI de configuração , depois eu uso "ConfigGravarValor" para popular os campos , depois eu uso "CarregarINI" nao sei dizer se isso esta funcionando , mas pelo informação do LOG me parece que sim e por ultimo eu uso "Emitir" ou o "GerarLote" , ambos me dão um erro -10 acess violation .

Alguem usando harbour poderia nos dar uma luz ??

Obrigado . 

 

  • Like 1
Link to comment
Share on other sites

  • Consultores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

7 minutos atrás, jarbasjrsa disse:

boa tarde pessoal , peguei o ACBrNFSe.PRG na pasta DEMO/Harbour , consigo compilar , gerar o EXE , usando o "ACBrNFSe():New()" a DLL cria o .INI de configuração , depois eu uso "ConfigGravarValor" para popular os campos , depois eu uso "CarregarINI" nao sei dizer se isso esta funcionando , mas pelo informação do LOG me parece que sim e por ultimo eu uso "Emitir" ou o "GerarLote" , ambos me dão um erro -10 acess violation .

Alguem usando harbour poderia nos dar uma luz ??

Obrigado . 

 

Após, usar os métodos ConfigGravarValor, você usou o método ConfigGravar ? 

  • Like 1
Link to comment
Share on other sites

  • Consultores

Precisa ver se vc esta utilizando a versão correta da DLL.
No exemplo foi utilizada ACBrNFSe32.dll para gerar aplicações (exe) 32 bits.
Agora existem Cdecl e SdtCall precisa ver qual é compativel com o Harbour.
Lembrando que dll existe singlethread e multithread (multithread dentro da pasta MT)
image.png

Além desta dll temos as dependências que deve seguir a mesma regra de arquitetura x86 ou x64;
image.png

Na pasta do EXE, crie a pasta ACBrLib.
Dentro da pasta ACBrLib, crie a pasta compativel com seu sistema, exemplo x86
Dentro da pasta x86 vc coloca as dlls

 

  • Like 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

acredito que esteja usando a DLL correta , pois tentei as outras e elas fecham o sistema e não geram o arquivo ABCrLib.INI . 

Eu não fiz essa estrutura que vc esta dizendo , joguei todas as dll na pasta junto com o EXE , vou testar dessa forma . 

 

Link to comment
Share on other sites

  • Consultores

@jarbasjrsa.

O @Daniel InfoCotidiano encontrou algo que possa estar relacionado ao problema.

Veja este exemplo de uso:

image.png

Habour não é minha linguagem nativa, mas se entendi corretamente, nele é definido o STR_LEN.

Conferindo no exemplo, não encontrei uma linha que faça esta definição. Apenas o uso do STR_LEN.

Por favor, pode testar?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

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

Link to comment
Share on other sites

  • Consultores

@jarbasjrsa
uma observação importante que estávamos discutindo com o time.


Observe que nesta imagem está declarada StdCall, então a lib utilizada é da pasta stdcall:
Screenshot_176.png
Imagem acima retirada do post do forum PCToledo

 

Screenshot_175.png

O Sr utiliza Harbour ou xHarbour ?
Pergunto pq li em um forum que no Xharbour a lib compila normalmente, mas em Harbour, o usuario só compilou na versao Harbour 3.2.0dev (r1802131223).
(apenas uma dica, quem sabe o sr esta usando uma versao anterior)

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

  • Consultores

@jarbasjrsa
Mesmo definindo STR_LEN, conforme o @Diego Foliene citou acima?

Screenshot_177.png

@jarbasjrsa
Pode testar com este exemplo por favor para que possamos ver o comportamento e que vc possa extrair o funcionamento da lib.

 

  • Like 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

outro teste agora , copiei a DLL da Cdecl para a pasta do EXE bem como para a pasta acbrlib\x86 dentro da pasta onde esta o EXE , deu o erro em anexo 

No ACBrNFSe.prg deixei apenas assim :

#include 'acbrlib.ch'
#define STR_LEN 256
#define ACBrLIB 'ACBrNFSe32.dll'
 
 

image.png

Link to comment
Share on other sites

  • Consultores

@jarbasjrsa
Chegou a fazer o teste com o exemplo q te mandei com o link do forum acima anexado
Para efeito de testes e para poder abstrair o conceito da lib no Harbour ?
 

  • Like 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

3 minutos atrás, Daniel InfoCotidiano disse:

@jarbasjrsa
Chegou a fazer o teste com o exemplo q te mandei com o link do forum acima anexado
Para efeito de testes e para poder abstrair o conceito da lib no Harbour ?
 

a lib esta gerando o arquivo INI normalmente e eu populo o arquivo usando o "configGravarValor" da Lib mesmo , pelo arquivo de log gerado o CarregarINI da lib esta carregando o arquivo INI da Nota , mas ao chamar o GerarLote ou Emitir é que ocorre o erro. 

Link to comment
Share on other sites

  • Membros Pro

Ola,

Aqui com harbour uso Cdecl e funciona muito bem mais  ainda não testei com NFSe.

Pelo exemplo disponível aqui vi que foi desenvolvido para uso com ST(singlethread) não seria esse o problema de talvez esta usando dll errada.

  • Like 2
Link to comment
Share on other sites

  • Este tópico foi criado há 477 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...