Man könnte auch auf die saudumme Idee kommen und dem blöden FMX modal beizubringen?
z.B. in etwa so (rein schematisch)
Delphi-Quellcode:
var
WarteVariable: TModalResult;
WarteVariable := mrNone;
MeinDialog.ShowModal(
procedure(ModalResult: TModalResult)
begin
WarteVariable := ModalResult;
end);
while (WarteVariable = mrNone) and not Application.Terminated do begin
Application.ProgressMessages;
Sleep(10);
end;
case WarteVariable of
mrNone: Exit;
mrOK: DoA;
else DoB;
end;
Natürlich schön als als Methode "RealShowModal" per Class-Helper an alle Forms drangehangen.
"ShowModal" ist jedenfalls ein voll bescheuerter Name, denn eigentlich ist es doch ein
xxx.Show(OnClose: TCloseEvent);
.
Kein Wunder, wenn sich dann welche wundern, daß es doch nicht modal ist.