Erst mal 42! (Weil kein Source gepostet)
Ob der Dialog nun blocking oder nonblocking ist...
Im Normalfall musst Du die Verarbeitung ja anhalten um auf die Antwort von User zu warten...
Unter Android muss es nonBlocking sein, unter iOS nicht, daher mache ich das so:
Delphi-Quellcode:
function MyMessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
{$IFDEF ANDROID}
var
MsgDlgResult : Integer;
{$ENDIF}
begin
{$IFDEF ANDROID}
MsgDlgResult := -1;
FMX.Dialogs.MessageDlg(Msg, DlgType, Buttons, HelpCtx,
procedure(const AResult: TModalResult)
begin
MsgDlgResult:= AResult;
end);
while MsgDlgResult<0 do
begin
Application.Processmessages;
Sleep(10);
end;
Result := MsgDlgResult;
{$ELSE}
Result := FMX.Dialogs.MessageDlg(Msg, DlgType, Buttons, HelpCtx);
{$ENDIF}
end;
Mavarik