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.