Dúvida com modalresult
29/11/2005
0
Obrigado a quem puder ajudar.
Rotina:
try
Application.CreateForm(TFormBaixaPagQuitacoes, FormBaixaPagQuitacoes);
with DMDados do begin
ClientDataSetBaixaPagto.Params[0].AsInteger := SimpleDataSetConQuitacoesPagtoCTRLPAGTO.AsInteger;
ClientDataSetBaixaPagto.Open;
end;
if FormBaixaPagQuitacoes.ShowModal = mrOk then begin
{ Atualiza consulta caso algum documento seja baixado. }
BBtnProcurar.Click;
end;
finally
FormBaixaPagQuitacoes.Free;
end;
Aprendiz_ce
Posts
29/11/2005
Aprendiz_ce
Jackson,
Confeço que não entendi. Será que você poderia ser mais especifico.
Obrigado e aguardo um retorno.
29/11/2005
Jackson Gomes
{ Atualiza consulta caso algum documento seja baixado. }
BBtnProcurar.Click;
[b:ea5b19eb73]CanClose := True;[/b:ea5b19eb73]
end;
29/11/2005
Aprendiz_ce
{ Atualiza consulta caso algum documento seja baixado. }
BBtnProcurar.Click;
[b:d78e36a02c]CanClose := True;[/b:d78e36a02c]
end;[/quote:d78e36a02c]
Jackson,
Obrigado mais uma vez pela sua atenção, mas acho que você não entendeu o meu problema.
O problema é justamente este: Ao fechar o ´FormBaixaPagQuitaçoes´ o código acima não é executado. É como se o mrOK não estivesse sendo retornado. O Canclose não tem nada haver com o processo em questão. Ele só serviria para permitir ou não o fechamento do ´FormBaixaPagQuitacoes´. OK?
Valeu e qualquer ajuda será bem vinda.
29/11/2005
Jackson Gomes
29/11/2005
Aprendiz_ce
Creio que não! O ato é que se eu retirar o questionamento a coisa funciona, mas quando coloco, a linha onde tem condição com mrOk não é executada.
Valeu e qualquer novidades por favor me avise.
29/11/2005
Jairroberto
Verifique a rotina em que você define o ´ModalResult´ do ´FormBaixaPagQuitacoes´.
Você também pode verificar qual é ´ModalResult´ retornado pelo ´FormBaixaPagQuitacoes´ da seguinte forma:
var i: Integer; begin ... i := FormBaixaPagQuitacoes.ShowModal; ShowMessage(IntToStr(i)); if i = mrOk then begin BBtnProcurar.Click; end; ...
Considere que:
mrOk = 1
mrCancel = 2
mrYes = 6
mrNo = 7
dentre outros.
Um abraço,
Jair
29/11/2005
Aprendiz_ce
var i: Integer; begin ... i := FormBaixaPagQuitacoes.ShowModal; ShowMessage(IntToStr(i)); if i = mrOk then begin BBtnProcurar.Click; end; ...
Olá Jair,
Agora sei que o valor retornado é 2 (dois), não sei por que? Pois o ModalResult do ´BBtnBaixar´ do ´FormBaixaPagQuitacoes´ é igual mrOk. Escrevi o codigo que você me passou, mas deu na mesma. Apenas tocamos 6 (seis) por meia dúzia... E aí o que pode ser?
Muito obrigado pela sua atenção e aguardo qualquer dica sua.
30/11/2005
Raserafim
30/11/2005
Jairroberto
Uma das possibilidades pode ser que no código executado pelo ´BBtnBaixar´ você não pode usar o método ´Close´. Se não for isso, descreva o código que você está usando no ´OnClick´ do ´BBtnBaixar´.
Um abraço,
Jair
30/11/2005
Aprendiz_ce
Correto! O problema todo era o ´close´ que eu tinha colocado sem necessidade. Quando fiz a manutenção coloquei o ´close´ de quebra (composivamente), achei que estava faltando. Quando retirei o ´bendido´ a coisa voltou ao normal.
Jair muito obrigado pela atenção um forte abraço e até a proxima.
Clique aqui para fazer login e interagir na Comunidade :)