Desenvolvimento de Sistemas para Automação Comercial

Voltar

Aba System — A Ponte Estrutural com o Windows

Se a aba Dialogs é a ponte visual com o Windows, a aba System é a ponte invisível e estrutural com o sistema operacional. Aqui você controla processos paralelos, comunicação entre programas, serviços do Windows e muito mais — sem uma única janela aparecendo para o usuário.



TProcess e TProcessUTF8 — Executar Programas Externos

  • Esqueça as antigas funções WinExec ou ShellExecute da API do Windows. Estes componentes são a forma moderna, segura e multiplataforma de executar programas externos.

    Você os usa para chamar um atualizador do sistema (update.exe), rodar um script de backup do Firebird (gbak.exe oculto) ou abrir o leitor de PDF após o Fortes Report gerar um arquivo.

    Dica importante: Use sempre o TProcessUTF8, pois ele lida perfeitamente com caminhos de rede e pastas que contenham acentuação (ex: C:\Notas Fiscais\).

    Comparação com o Firebird: O gbak.exe que você chama com o TProcess é o mesmo que você rodaria no terminal do Linux no servidor de produção. A diferença é que o TProcess te dá controle sobre isso dentro do seu sistema Pascal.


TAsyncProcess — Processo Assíncrono sem Travar a Tela

  • É o irmão mais novo do TProcess. Foi desenhado para rodar ferramentas de linha de comando que demoram muito, sem "congelar" a tela do seu ERP. Ele possui eventos como OnReadData, que permite capturar o texto que o programa externo está cuspindo no console (stdout) e jogar em um TMemo em tempo real.


TTimer — Tarefas Periódicas

  • Executa uma rotina repetidamente a cada X milissegundos. Útil para dar um refresh automático em um painel de "Pedidos Pendentes" na tela do cozinheiro em um sistema de restaurante, ou para consultar o status de serviço da Sefaz de tempos em tempos.

    Atenção com o Timer: O evento OnTimer roda na thread principal (UI thread). Se o que você executa for pesado (uma query grande no Firebird), a tela vai travar durante a execução. Para consultas pesadas, use TAsyncProcess ou threads.


TIdleTimer — Bloqueio por Inatividade

  • Ao contrário do Timer normal, ele só dispara se o usuário não estiver mexendo no mouse ou teclado. É o componente ideal para duas situações clássicas:

    Cenário 1 — Segurança: Se o caixa do PDV ficar 5 minutos sem tocar no computador, o TIdleTimer dispara e bloqueia a tela, exigindo a senha novamente. Evita que outra pessoa acesse o sistema enquanto o operador está atendendo um cliente no balcão.

    Cenário 2 — Performance: Rodar uma rotina pesada de limpeza de arquivos temporários do ACBr apenas quando o sistema estiver ocioso, para não causar lentidão enquanto o usuário digita uma nota.


TSimpleIPCClient e TSimpleIPCServer — Comunicação entre Processos

  • Permitem que dois executáveis diferentes conversem entre si na mesma máquina, enviando mensagens de texto de forma incrivelmente rápida e sem usar portas de rede (TCP/IP) — o que evita bloqueios chatos do Firewall do Windows.

    Cenário Clássico: Você tem o PDV rodando na frente e um "Monitor de Impressão" rodando escondido perto do relógio do Windows. O PDV usa o Client para enviar uma string IMPRIMIR_PEDIDO_55 e o Server no Monitor recebe instantaneamente e manda para a impressora. Isso evita que o PDV trave se a impressora der erro de papel.


TServiceManager — Controlar Serviços do Windows

  • Permite que o seu sistema controle os Serviços do Windows (aqueles que você vê no services.msc). Em uma tela de configurações do seu ERP, você pode usar isso para verificar se o serviço do Firebird está rodando, e até dar um comando de Start ou Stop nele diretamente pelo seu sistema.


TEventLog — Logs no Visualizador de Eventos do Windows

  • Em vez de salvar logs de erros críticos em um arquivo .txt que o usuário pode apagar sem querer, este componente grava os erros diretamente no Visualizador de Eventos do Windows (Event Viewer). Fica extremamente profissional e centralizado para um suporte de TI avançado analisar depois.

    Comparação com um arquivo TXT: O arquivo de log pode ser apagado pelo usuário, ficar corrompido se o sistema travar no meio da escrita, e não tem ordenação garantida. O Event Viewer do Windows é atômico, protegido e consultável via ferramentas profissionais de monitoramento como o Zabbix ou SCOM.