ModalResult Delphi
ModalResult só retorna 0 e quando entra no IF não da certo.
//procedure TfrmPesProdOtica.FormKeyPress(Sender: TObject; var Key: Char);
begin
GradePesquisa.SetFocus;
if Key = #13 then
begin
ModalResult := mrOk;
Close;
end;
if Key = #27 then
begin
ModalResult := mrCancel;
Close;
end;
end;
//frmPesProdOtica := TfrmPesProdOtica.Create(Self);
frmPesProdOtica.Name := 'frmPesProdOtica';
if frmPesProdOtica.ShowModal = mrOk then
txtProduto_LD.Text := FormatFloat('0000000000000', oCad05.FieldByName('COD_PROD').AsInteger) + ' - ' + oCad05.FieldByName('DES_PROD').AsString
else
begin
txtCodGrupo_LD.Clear;
txtCodGrupo_LD.SetFocus;
end;
//procedure TfrmPesProdOtica.FormKeyPress(Sender: TObject; var Key: Char);
begin
GradePesquisa.SetFocus;
if Key = #13 then
begin
ModalResult := mrOk;
Close;
end;
if Key = #27 then
begin
ModalResult := mrCancel;
Close;
end;
end;
//frmPesProdOtica := TfrmPesProdOtica.Create(Self);
frmPesProdOtica.Name := 'frmPesProdOtica';
if frmPesProdOtica.ShowModal = mrOk then
txtProduto_LD.Text := FormatFloat('0000000000000', oCad05.FieldByName('COD_PROD').AsInteger) + ' - ' + oCad05.FieldByName('DES_PROD').AsString
else
begin
txtCodGrupo_LD.Clear;
txtCodGrupo_LD.SetFocus;
end;
Matheus Gomes
Curtidas 0
Melhor post
Gabriel Baltazar
11/11/2015
É porque o Close seta o modalResult pra zero, inverta as instruções pra ver.
Primeiro dê o close e depois chame o moralResult := mrOk;
Primeiro dê o close e depois chame o moralResult := mrOk;
GOSTEI 2
Mais Respostas
Rafael Bosco
26/09/2015
Tente trocar o resultado do ModalResult de mrOK para 1, para fazer um teste se passando em integer, ele tem alguma mudança, abaixo a listagem dos códigos por Modal:
mrNone = 0; mrOk = 1; mrCancel = 2; mrAbort = 3; mrRetry = 4; mrIgnore = 5; mrYes = 6; mrNo = 7; mrClose = 8; mrHelp = 9; mrTryAgain = 10; mrContinue = 11; mrAll = 12; mrNoToAll = 13; mrYesToAll = 14;
GOSTEI 0
João Eduardo
26/09/2015
É porque o Close seta o modalResult pra zero, inverta as instruções pra ver.
Primeiro dê o close e depois chame o moralResult := mrOk;
Primeiro dê o close e depois chame o moralResult := mrOk;
Me ajudou, estava com um problema semelhante, ModalResult estava retornando zero por conta do Close, Valeu.
GOSTEI 0
Arthur Heinrich
26/09/2015
Quando fazemos um form que será executado com ShowModal, podemos setar a propriedade ModalResult dos botões, com o valor que queremos que seja retornado.
Daí, quando um destes botões é pressionado, o valor setado é retornado pelo ShowModal.
Daí, quando um destes botões é pressionado, o valor setado é retornado pelo ShowModal.
GOSTEI 0