Delphi - Evento OnClose do Form com Bug?
06/06/2020
0
Apos atualizar para o Delphi Rio notei que o programa apresentou comportamento diferente.
O meu app é no Android e se o usuario clicasse no botao de VOLTAR ou SAIR do CELULAR
eu verifico se é pra sair ou pra continuar, dependendo da tela em que estou, achei que fosse
alguma falha minha, mas depois pra tirar da duvida fiz uma nova aplicação, sem nada,
só um form e esse codigo abaixo:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caNone; end;
O que deveria acontecer é NADA, ou seja, se o usuario clicar no botao de VOLTAR ou SAIR no celular
o evento onclose é disparado e passando no codigo acima, era pra continuar o programa sem sair
Acontece que o programa é encerrado mesmo com o caNone, será um bug no delphi ?
.
Alguém ai com o Delphi Rio poderia testar isso pra confirmar?
E qual seria a solução?
Alberto
Posts
09/06/2020
Emerson Nascimento
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := False; end;
10/06/2020
Alberto
Espero que alguém com a mesma versão do Delphi faça o teste pra ver ser ocorre o mesmo erro.
12/06/2020
Ricardo Araujo
13/06/2020
Alberto
Para testar siga os passos abaixo:
.
1) Criar uma nova aplicação Multi-Device Application no Delphi Rio 10.3.3
2) no Form1 crie o evento ONCLOSE do form
3) coloque o codigo no evento onclose conforme abaixo:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caNone; end;
4)-Escolha um device android como TARGET (Eu testei com o meu celular android 7.1, você pode testar com o seu celular android, ou no emulador, porém não sei se o emulador iria se comportar da mesma maneira que o celular nesse caso)
5) compile a aplicação
6) com a aplicação rodando, toque no botão de SAIR ou VOLTAR do celular.
.
Se a aplicação permanecer executando, está tudo certo.
Se a aplicação sair, então está algo errado com o código do Delphi.
Clique aqui para fazer login e interagir na Comunidade :)