Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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 . 

 

  • Curtir 1
  • Consultores
Postado

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 ? 

  • Curtir 1
  • Consultores
Postado

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

 

  • Curtir 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

Postado

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 . 

 

  • Consultores
Postado

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

  • Consultores
Postado

@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

Postado

 Mesmo erro , infelizmente 

 

image.png.2a5333bde7ba65158c56ae0cd64d6055.png

esse mesmo erro que acabei de postar é referente as pastas , nao tinha ainda chegado aqui pra mim as outras mensagens , vou verifica-las 

Postado

troquei a DLL para a StdCall , no ACBrNFSe.PRG inclui os define conforme sua imagem , ao executar fecha o programa e gera esse erro : 

na imagem da pra vc ver que usamos harbour minigui extended edition 

image.png.ef590458716b9029f355cbc5d9a477b1.png

 

Postado

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

Postado
1 minuto 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 ?
 

sim eu fiz , postei ai em cima 

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

  • Membros Pro
Postado

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.

  • Curtir 2
  • Solution
Postado

bom dia a todos e obrigado pela ajuda , eu consegui resolver esse erro , o problema era a passagem de parâmetro para o Metodo Emitir ou GerarLote , o parametro aLote tem q ser string e eu estava passando numérico.

  • Curtir 2
  • Este tópico foi criado há 497 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.