David:
Considera que una llamada al método
ShowModal espera hasta que la forma se cierra.
Sinceramente no veo cuál sea el problema de que la forma se cierre y el proceso continúe. La forma puede quedar invisible (sin destruirse) para que las sentencias siguientes accedan sin problemas a los datos que se capturaron en ella. Y cuando ya no la necesites le haces un
Form1.Free;.
Claro, lo ideal es que existiera una segunda versión de ShowModal que se pudiera llamar así:
Código Delphi
[-]
Var
V :Variant;
Begin
If Form1.ShowModal (V) = mrOK Then
Siendo V un parámetro por variable para traerse valores de resultado. Esto me ha dado una idea de biblioteca...
Otra solución sería colocar en alguna variable o campo del módulo de datos, los valores capturados en la ventana de diálogo. Haciendo eso en el evento OnClick del botón de cierre.
No dejes de comentarnos.
Al González.