Ver Mensaje Individual
  #1  
Antiguo 31-10-2007
Tonio Tonio is offline
Miembro
 
Registrado: may 2003
Ubicación: Logroño
Posts: 111
Reputación: 22
Tonio Va por buen camino
¿Cómo cancelar OnShow?

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.
Responder Con Cita