Ver Mensaje Individual
  #5  
Antiguo 27-06-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una forma de hacerlo:

Código:
const
  CM_CLOSE = WM_USER + 1;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure CMClose(var Message: TMessage); message CM_CLOSE;
  end;

implementation

procedure TForm2.CMClose(var Message: TMessage);
begin
  ModalResult := mrOk;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  PostMessage(Handle, CM_CLOSE, 0, 0);
end;
PostMessage manda el mensaje pero sólo hasta que se procese el resto de mensajes, en este caso hasta que todos los mensajes necesarios para que el formulario termine de cargarse se procesen. Así, en el manejador del mensaje CM_CLOSE pones ya el valor deseado para ModalResult.

// Saludos
Responder Con Cita