Ver Mensaje Individual
  #5  
Antiguo 03-02-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por jbautista Ver Mensaje


...
/*
Desde un boton de un FormPrincipal creo y muestro nuevos Forms de la siguiente manera:
*/

Código Delphi [-]
procedure TForm_principal.FormatosClick(Sender: TObject);
begin
     Application.CreateForm(TForm_Imp_Formato, Form_Imp_Formato);
      Form_Imp_Formato.Show;
end;
/*
Al hacer lo anterior, obviamente quito la linea Application.CreateForm(...) del DPR.

Para no estar borrando nada del .DPR deberias indicarle a Delphi que formulario debe crear y cuales no.. Ésto se consigue entrando en el menú Project>Opcions > Pestaña Forms, del IDE. Si te fijas en dicha pestaña hay 2 partes, la una dice: Auto-create Forms que es donde están todos tus formularios que delphi va crear en el .DPR al correr la aplicacion, la otra parte dice: Available Forms que son todos los formulario que delphi no los va a crear(instanciar) al iniciar la aplicacion(Incluso hay un combobox donde puedes selecionar cuál va ser tu formulario principal)
Tú debes decidir cuales se van a crear al correr la aplicacion y cuales no, tan solo debes pasarlo de un lado para el otro, eso ya es criterio tuyo.
Por otra parte el codigo que te propone look tiene una linea por demás, el código que te propone él ,quedaría mas o menos de esta manera:
Código Delphi [-]
/// este evento va en el boton de creacion del form
  if NOT Assigned(Form1) then //SI El form no esta creado
     Form1 := TForm1.Create(Application);
 
 Form1.Show;
Por supuesto no debes olvidar de destruirlo y ponerlo en nulo (nil) al cerrarlo tal como te ha indicado look,en el evento OnClose
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 03-02-2010 a las 22:53:09.
Responder Con Cita