Ver Mensaje Individual
  #5  
Antiguo 26-03-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Reputación: 17
Lenny Va por buen camino
Talking

Pero ojo!!! para que funcione bien deves tomar ciertas precauciones:

Primero, para que no se abra una tras otra la ventana "Hija" y evitar errores deves agregar este codigo:

Código Delphi [-]
type
  THome = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure AlCerrar( Sender: TObject; var Action: TCloseAction );
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
Código:
procedure AlCerrar( Sender: TObject; var Action: TCloseAction );
Esa Linea...
Código Delphi [-]
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Home: THome;

implementation

{$R *.dfm}

uses Form1;

procedure THome.AlCerrar( Sender: TObject; var Action: TCloseAction );
begin
Action := caFree;
end;

procedure...........

Código:
procedure THome.AlCerrar( Sender: TObject; var Action: TCloseAction );
begin
Action := caFree;
end;
Esta parte...

Luego, en "PROJECT", "OPTIONS", "FORMS" dejas la Form Hija en "AVALIABLE FORMS" y por ultimo, abres la Form Hija con este codigo:

Código Delphi [-]
procedure THome.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Pred(MDIChildCount) do
    if MDIChildren[i] is TForm2 then
    begin
      MDIChildren[i].BringToFront;
      Exit
    end;
  with TForm2.Create(Application) do
  begin
    FormStyle := fsMDIChild;
    OnClose := AlCerrar;
    Show
  end
end;

Todo en un Button

Esop... nada nuevo, esta es la misma solucion que me dieron los chicos del foro, que en su momento me tenia de cabeza y gracias a los comentarios de los expertos pude solucionar mucho... Saludos!!!

Última edición por Lenny fecha: 26-03-2011 a las 15:57:24.
Responder Con Cita