I have an application in Delphi XE7 Android that uses ShowModal(nil) to open a form.
Inside this form, I’m calling another ShowModal(nil) inside the OnShow Event to show another form.
When this second form is shown, the App screen doesn’t get the right focus, and the android keyboard doesn’t show.
How Can I fix this ?
The Code is:
First:
procedure TfPrincipal.MostraItensMesa;
begin
fCad_ItensMesa.ShowModal(nil);
end;
Then:
procedure TfCad_ItensMesa.FormShow(Sender: TObject);
begin
fCon_Item := TfCon_Item.Create(Self);
fCon_Item.TIPO := ‘P’;
fCon_Item.ShowModal(
procedure(Result:TModalResult)
begin
dm.cdsItensMesa.Append;
dm.cdsItensMesaPRODUTOID.AsInteger := dm.cdsConItemPRODUTOID.AsInteger;
dm.cdsItensMesaQUANTITEMORCA.AsFloat := fCon_Item.QUANTIDADE;
dm.cdsItensMesaVALORITEMORCA.AsFloat := dm.cdsConItemPRECOPROD.AsFloat;
dm.cdsItensMesaTOTALITEMORCA.AsFloat := dm.cdsConItemPRECOPROD.AsFloat * fCon_Item.QUANTIDADE;
dm.cdsItensMesaTOTALCOMADC.AsFloat := dm.cdsConItemPRECOPROD.AsFloat * fCon_Item.QUANTIDADE;
dm.cdsItensMesaSUBGRUPO.AsString := fCon_Item.SUBGRUPO;
dm.cdsItensMesaLISTITEM.AsString := FloatToStr(fCon_Item.QUANTIDADE) + ‘ ‘+dm.cdsConItemNOMEPROD.AsString;
dm.cdsItensMesaCODIGO.AsInteger := dm.CONTADOR;
dm.CONTADOR := dm.CONTADOR+1;
dm.cdsItensMesa.Post;
lblTotal.Text := FormatFloat(‘#,###,##0.00’, CalculaTotal);
end
);
end;
And then “fCon_Item” is shown, but the keyboard is disabled, because of the wrong focus.