En mi aplicación, llamo a un Form, en el OnShow tengo un MesageDlg con un 'Case' varias opciones, entre ellas 'Cancelar'.
El 'Form' es el mismo para cada una de las opciones, su función será en base al valor que le doy a una variable en las distintas opciones.
Lo llamo:
Código:
Application.CreateForm(TfDomingo_T, fDomingo_T);
fDomingo_T.show;
En el evento OnShow va esto:
Código:
Donde := MessageDlgPosI(' ¿Cena, Mensaje, Presidir u Otro? ',mtInformation,[mbIgnore,
mbRetry, mbAll, mbNoToAll, mbYesToAll],0,360,319,ltSpanish2);
case Donde of
8:
begin // 8: Es Presidir
EsP := True ;
end;
4:
begin // 4: Es Cena
EsC := True;
end;
5:
begin // Es Mensaje
EsM := True;
end;
9:
begin // Es otro
EsO := True;
end;
10:
begin // Es Cancelar
EsCerrar := True;
end;
end; // case
// He ententado con esto, en la opción 'Cancelar' hacer 'EsCerrar = True' y...
if EsCerrar then
begin
EsCerrar := False;
Close;
// Pero me da un mensaje de error:
// 'Cannot change Visible in OnShowor OnHide'
Entonces
¿Qué debo hacer para que el form no se muestre cuando pulso 'Cancelar'?
¿Es posible?
Gracias de antemano.
Un saludo.
Tonio.