Fórum Show e ShowModal um pequeno probleminha #412116

30/01/2012

0

Olá pessoal!

Estou com o segunte problema:

No formulário principal onde tenho o menu, abro a consulta de produtos como showmodal, seleciono um produto, abrindo a tela de cadastro para alterar, por exemplo, faço as alterações e fecho o formulário de cadastro.

Ao retornar para o formulário de consulta, era para executar o evento OnActive.

Ai é onde está o problema. Quando uso o show, ao fechar o form de cadastro e retorno para o form de consulta é executado o evento OnActive. Porque quando uso showmodal, ao retornar para o form de consulta não é executado o OnActive?

Obs.: Dentro do OnActive coloquei um comando para atualizar a lista de consulta, refresh, para visualizar a ultima alteração feita.

Alguém poderia me dar uma idéia de como resolver isso.
Agradeço desde já qualquer ajuda.
Vagner Almeida

Vagner Almeida

Responder

Posts

30/01/2012

Rafael Ribeiro

Vc já tentou usar o evento OnCloseQuery ao invés de OnActive? Sendo assim quando você fechar o formulário, vai disparar o evento.

Espero ter ajudado.

Rafael
Responder

Gostei + 0

30/01/2012

Vagner Almeida

O evento OnActive fica na tela de consulta, pois essa tela é aberta em outras áreas do sistema, então a idéia e fazê a atualização dos dados sempre que ela abrir.

Essa questão está ok, pois ao abrir ela atualiza os dados.

Encontrei um jeito de resolver, que seria colocar um refresh após o commit do form de cadastro, mas gostaria de obter mais informação mais opções, pois quando uso o form como Show e não ShowModal, funciona sem problema.

Ou seja, quando o form de cadastro é aberto como Show, após eu fechá-lo que retorna para o form de consulta é executado o OnActive do form de consulta, mas isso não acontece quando o form de cadastro é aberto como ShowModal.

Gostaria de saber quais obções eu teria para resolver isso sem fazer gambiarras.

Fico grato pela sua atenção.
Responder

Gostei + 0

30/01/2012

Marco Salles


Obs.: Dentro do OnActive coloquei um comando para atualizar a lista de consulta, refresh, para visualizar a ultima alteração feita.


Outra opção , a que eu particularmente prefiro é utilizar o ModalResult:=mrOk e testa-lo
mo formulario principal ..

Assim

begin
form2:=TForm2.Create(nil);
try
if form2.ShowModal = mrOk then
  ////COLOQUE AQUI AS INSTRUÇÔES
finally
form2.free;
form2:=nil;
end;
Responder

Gostei + 0

30/01/2012

Marco Salles


obs.: dentro do onactive coloquei um comando para atualizar a lista de consulta, refresh, para visualizar a ultima alteração feita.


outra opção , a que eu particularmente prefiro é utilizar o modalresult:=mrok e testa-lo
mo formulario principal ..

assim

begin
form2:=tform2.create(nil);
try
if form2.showmodal = mrok then
  ////coloque aqui as instruçôes
finally
form2.free;
form2:=nil;
end;
Responder

Gostei + 0

30/01/2012

Marco Salles


obs.: dentro do onactive coloquei um comando para atualizar a lista de consulta, refresh, para visualizar a ultima alteração feita.


outra opção , a que eu particularmente prefiro é utilizar o modalresult:=mrok e testa-lo
mo formulario principal ..

assim


begin
form2:=tform2.create(nil);
try
if form2.showmodal = mrok then
////coloque aqui as instruçôes
finally
form2.free;
form2:=nil;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar