Tempo aproximado para leitura: 00:01:00 min
Dúvida
Tela de carregamento em looping em fonte específico 4GL
Ambiente
Framework - Framework (Linha Logix) - Administração Logix - Todas as versões.
Solução
A partir do FIX01 da versão 12.1.2503, foi implementada uma mensagem de carregamento exibida durante a abertura de programas. Essa melhoria tem como objetivo evitar que o usuário clique repetidamente na opção do menu, acreditando que o sistema não está respondendo, o que anteriormente resultava na abertura simultânea de múltiplas instâncias do mesmo programa.
Para aprimorar a experiência do usuário e evidenciar que a aplicação está em processo de carregamento, foi incluído um painel com fundo transparente que bloqueia temporariamente a interação com a área de programas do menu. Durante esse período, são exibidas mensagens informativas sobre o status do carregamento, reforçando a percepção de que a operação está em andamento até que o novo programa seja completamente iniciado.
No entanto, ao abrir um programa específico desenvolvido em 4GL, observa-se que a tela de carregamento permanece em looping, mesmo após a aplicação ter sido carregada corretamente.
Esse comportamento é causado por uma falha no desenvolvimento do programa em questão. Conforme padrão de desenvolvimento do produto Logix, todo programa deve obrigatoriamente realizar a chamada da função LOG_initAPP no início de sua execução, informando como parâmetro o módulo ao qual pertence. Essa chamada é essencial para garantir a inicialização adequada da aplicação, assegurando a carga correta das informações globais e a integridade dos dados utilizados durante a execução.
A ausência dessa chamada impede que o sistema identifique corretamente o término da fase de carregamento, resultando na permanência da tela de processamento e comprometendo a experiência do usuário.
Abaixo exemplo do fonte men0210, neste caso utilizamos a chave "menu". Porem, essa chave corresponde ao módulo que se refere ao seu específico.
MAIN
DEFER INTERRUPT
IF LOG_initApp("MENU") = 0 THEN
CALL men0210_controle()
END IF
END MAINSaiba mais
Para mais informações, segue documentação completa da função LOG_initApp, contendo todas as chaves corresponde aos módulos:
https://tdn.totvs.com/display/public/LLOG/LOG_InitApp
0 Comentários