Ich persönlich halte nichts von den Callbacks nur für Unterformulare oder Messageboxen, ist mir einfach zu aufwendig.
Du kannst eine globale Variable definieren die von der Unterform gefüllt wird. Das Hauptformular muss nun einfach nur solange warten, bis die Variable gefüllt ist. Beispiel:
Code:
var MsgDlgResult: Integer;
function MessageDlg(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
begin
MsgDlgResult := -1;
FMX.Dialogs.MessageDlg(Msg, DlgType, Buttons, HelpCtx,
procedure(const AResult: TModalResult)
begin
MsgDlgResult:= AResult;
end
);
while MsgDlgResult<0 do Delay(10);
Result := MsgDlgResult;
end;