Nein, ShowMessage ist nicht Modal
Code:
var MsgDlgResult: Integer;
procedure ShowMessage(const Msg: string);
begin
MsgDlgResult := -1234;
FMX.Dialogs.MessageDlg(Msg, TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOk], 0,
procedure(const AResult: TModalResult)
begin
MsgDlgResult:= AResult;
end
);
while (MsgDlgResult=-1234) do Delay(10);
end;