Ir para conteúdo
  • Cadastre-se

dev botao

Como criar aplicaçoes CONSOLE, com ACBr e Lazarus/FPC


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

Recommended Posts

  • Fundadores

1 - Adicionar em Custom Options do Projeto a diretiva "NOGUI"

image.png

 

2 - Não usar a IDE ou o sistema da Packages do Lazarus.

(Porque isso faria ele adicionar as dependências visuais, pois os Packages que foram compilados com e instalados na IDE, não foram gerados com a diretiva "NOGUI", ativada)

image.png

Então os componentes devem ser criados em Run-time, ou você pode usar um DataModule... mas nesse caso, lembre-se de remover a dependência dos Packages do ACBr, conforma na figura acima...

 

3 - Adicionar em "Other Unit Files", todos os diretórios do ACBr, que o compilador sentir falta...

image.png

Observe que no caso acima, eu usei um Macro com o diretório do ACBr... isso facilita, quando abrimos o mesmo projeto, em várias máquinas, onde os diretórios, podem variar..
(Você pode criar um Macro em Additions e Overrides... veja item 4)

Adicione também em "Include Files", o diretório onde está o ACBr.inc

image.png

 

4 - Definir para o Lazarus que você quer usar a WidgetType com "nogui"

image.png

O Macro "ACBrDir", usa um recurso do Lazarus, que permite ler informações de variáveis de ambiente...
Então na minha máquina, tenho a definição do Home do ACBr nas minhas variáveis de Ambiente

image.png

 

O Lazarus irá recompilar todos os fontes do ACBr, e gerar os PPU na pasta "lib" do seu projeto... isso é necessário, para gerar os arquivos PPU com a diretiva "CONSOLE" ativada

 

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Fundadores

Atualizando o tópico...

Se você usar o algum componente ou lib que dependa do Fortes Report para gerar relatórios, pode perceber que a sua aplicação ficou dependente de um Servidor X. Isso acontece mesmo com a compilação em modo CONSOLE.

Talvez sua aplicação gere um erro semelhante ao descrito abaixo ao ser executada:

Citar

(rdw_service:9771): Gtk-WARNING **: 16:24:54.435: cannot open display:

Isso ocorre, porque o Fortes Report injeta essa dependência do Servidor X... :(

Para resolver esse problema você pode instalar o serviço Xvfb, que é um Emulador de Servidor X

https://en.wikipedia.org/wiki/Xvfb

E nesse caso, você rodaria a sua aplicação com comando:

xvfb-run ./SuaAplicacao

 

Em alguns casos, também pode ser necessário, instalar o xauth

https://en.wikipedia.org/wiki/X_Window_authorization

Editado por EMBarbosa
Deixar claro que acontece o mesmo com a Lib.
  • Curtir 3
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Fundadores

Atualização importante, no uso do xVFB.. Dica do colega Francisco, no Discord do ACBr

Se você tem problemas na impressão de Cod.Barras, onde os mesmos aparecem "coloridos" e desfocados... como no exemplo abaixo:

unknown.png

isso tem relação com a resolução do ambiente...

experimente chamar o xvfb-run com os parâmetros abaixo:

xvfb-run --server-args="-screen 0, 1024x768x24"

pronto:

unknown.png

  • Curtir 4
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

×
×
  • 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...