Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Olá pessoal, tudo bem?

Estou desenvolvendo uma API RESTful usando o framework Horse no Lazarus, com o objetivo de centralizar a emissão de DC-e (Declaração de Conteúdo Eletrônica). Essa API vai rodar como um serviço de background em um servidor Linux (Debian) em modo console, sem ambiente gráfico.

A motivação para essa arquitetura é que nosso ERP principal é legado (Delphi 2009) e não consegue mais lidar nativamente com as exigências atuais de TLS 1.2 da SEFAZ. Portanto, o microserviço em Lazarus receberá uma requisição do ERP, fará a montagem, assinatura com certificado A1 e o envio.

O Problema: O obstáculo que estou enfrentando é a forte dependência da LCL nos pacotes do ACBr. Ao criar um projeto do tipo "Console Application" e declarar as units do componente (ex: ACBrDCe) no uses, o projeto não compila, gerando erros de dependência de bibliotecas visuais, mesmo eu não utilizando nenhuma tela.

O que já tentei: Pesquisando no fórum e na documentação, tentei a abordagem de "enganar" o compilador:

  1. Criei um projeto Application padrão e removi os formulários.

  2. Fui em Project Options > Compiler Options > Additions and Overrides.

  3. Alterei o LCLWidgetType para nogui.

  4. Certifiquei-me de não incluir nenhum pacote de impressão (como Fortes Report), usando apenas o componente base de comunicação.

Ainda assim, não tive sucesso. Durante a compilação, a árvore de dependências do ACBr acaba puxando referências que quebram a geração do executável de terminal, ou dão erro ao tentar rodar no Debian puro.

  • Moderadores
Postado

eu uso o ACBrNFe,ACBrGtin,ACBrBoleto,ACBrNFSeX(todos com horse) sem problema, no seu caso DCe nunca usei. mas eu uso "console application"

image.png

52 minutos atrás, ADRIANOOLLIE disse:

Fui em Project Options > Compiler Options > Additions and Overrides.

e exatamente como vc citou acima:

image.png

e custom options:

image.png

image.png

  • Curtir 1
Postado

Olá @datilas, desde já obrigado pela resposta!

Tentei criar um novo projeto de teste com os parâmetros que você descreveu, criei também um datamodule com um NFe e ainda tenho o mesmo retorno:


image.thumb.png.0bcb443c387dd432a1b44a4b9cc0590d.png

  • Moderadores
Postado
2 horas atrás, ADRIANOOLLIE disse:

Olá @datilas, desde já obrigado pela resposta!

Tentei criar um novo projeto de teste com os parâmetros que você descreveu, criei também um datamodule com um NFe e ainda tenho o mesmo retorno:


image.thumb.png.0bcb443c387dd432a1b44a4b9cc0590d.png

segue um exemplo funcional ACBrGTIN compilando para apache, vc pode adaptar a sua necessidade:

 

image.png

corrija os paths para o seu ambiente

 

  • Moderadores
  • Solution
Postado
1 hora atrás, ADRIANOOLLIE disse:

@datilas baixei seu projeto e tentei fazer os testes, aqui no PC do trabalho não consegui rodar, vou tentar no meu pessoal em casa.

fiz um novo só com horse sem dependencias minhas é só abrir "horse-master\samples\lazarus\console\Console.lpi" alterar os paths para seu ambiente:

image.png

compilar e testar

exemplo2.zip

Postado

@datilas Boa tarde, baixei seu exemplo atualizei o caminho dos Search paths conforme necessário, adicionei diretamente no uses o ACBrDCe e funcionou perfeitamente... Muito Obrigado!

  • datilas locked this tópico
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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...