Ver Mensaje Individual
  #6  
Antiguo 04-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo primero ocurre porque estos formularios "MDIChild" se muestran visibles según se crean: y no puede ser de otra forma, además, parece ser. Así que el asunto pasa por crearlos cuando los necesites. Si echas un vistazo al archivo ".dpr" de la aplicación que creamos... en este Hilo, verás algo como esto:

Código Delphi [-]
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

Pues bien, se trata de eliminar la línea "Application.CreateForm(TForm2, Form2);" para que el formulario no se cree y tampoco se muestre, por tanto.

Respecto de lo segundo, la cuestión está en utilizar el evento "OnClose" de los formularios "MDIChild":

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; 
 var Action: TCloseAction);
begin
  Action := caFree;
end;

De ese modo cuando se cierre el formulario este no se ocultará (o minimizará) sino que será liberado.

En todo caso me doy cuenta de mis limitaciones, en general, y, en particular, con las aplicaciones MDI...

Lo mismo hay mejores respuestas de otros compañeros. Pueden esperarse, desde luego.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita