MT
Problema entre TPage e TWindow com Componente Personalizado
Olá.
Criei um componente para mostrar mensagens em minha app. Ocorre que quando o utilizo nas telas que são do tipo TPage, funciona corretamente. Porém, quando tento usar em telas do tipo TWindow (Seeks), o componente acaba sendo renderizado na tela de trás.
Em anexo os fragmentos de código e o print das telas.
Obrigado pela ajuda.
Criei um componente para mostrar mensagens em minha app. Ocorre que quando o utilizo nas telas que são do tipo TPage, funciona corretamente. Porém, quando tento usar em telas do tipo TWindow (Seeks), o componente acaba sendo renderizado na tela de trás.
Em anexo os fragmentos de código e o print das telas.
Obrigado pela ajuda.
Imagino que pelo fato do seu componente estar simplesmente fazendo um echo, sem ser atribuído efetivamente à twindow, a mensagem acabe ficando de fora dela, pois está sendo executada antes do término da renderização dos componentes.
Sugiro adaptar o componente para ficar parecido com o exemplo abaixo, com método construtor e método show:
https://www.adianti.com.br/framework-extensibility
Dessa forma, na TWindow você faria algo parecido com isso:
Obrigado.
Olha só Rabaioli. Na verdade eu queria mesmo era usar o componente TAlert, do próprio framework. Isso iria simplificar e muito a minha vida aqui... O problema é que parece que ele está sempre um passo atrás para apresentar as mensagens que preciso. Por exemplo, quando clico em novo, ele não atualiza a mensagem correta na tela, somente quando clico uma segunda vez no botão "novo". Também quando clico em algum registro na grid da tela de listagem, a mensagem vem como se fosse para o novo registro, enfim... Há algum impasse na ordem de execução do TAlert com relação à ordem da tela que estou usando por acaso?
Olha só esse fragmento que, se funcionar adequadamente, seria o ideal pra minha app:
Marcelo, o construtor é chamado antes de qualquer função. Como a atualização do valor da sessão é feita em uma função chamada posteriormente, ela só será visualizada na próxima execução.
Logo... Há algum componente no framework com comportamento de "Listener", que possa ser acionado com um método do tipo onFire() por exemplo?
Acho que você pode usar o TAlert mesmo. No construtor adicione um container na posição desejada e deixe-o visível a toda classe com o $this.
Aí no seu método você adiciona o conteúdo que quiser nesse container. Ex: