Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Multiple ejecucion MDIChild (https://www.clubdelphi.com/foros/showthread.php?t=7367)

brandolin 12-02-2004 21:37:37

Multiple ejecucion MDIChild
 
Tengo una aplicacion que usa ventanas MDIChild, pero quiero que algunas se ejecuten una sola vez. Es decir que si ya se encuentra abierta se restaure la misma o pase a primer plano.

Alguien sabe como hacerlo?

Gracias.

delphi.com.ar 12-02-2004 21:45:50

Si cuando la creas la asignas a la variable que Delphi te crea por defecto (Form1: TForm1;), solo tendrías que preguntar si no está asignada (if Assigned(Form1)) y encargarte de asignarle Nil cuando se destruya el form.
Otra forma muy común, para quienes no usamos esta varible, es desactivar el menú / botón que crea el form una vez creado, y volverlo a activar cuando este se destruye.

Saludos!

roman 12-02-2004 22:02:43

Complementando lo que te dice delphi.com.ar, en lugar de la variable que se crea por defecto puedes usar una variable dentro del formulario:

Código:

TMDIForm = class(TForm)
private
  FMDIChildUnico: TMDIChildUnico;
end;

Si sólo vasa usar una instancia entonces de hecho no tendrías que preocuparte por poner a nil la variable cuando se destruya ya que se destruirá cuando termina la aplicación.

// Saludos

delphi.com.ar 12-02-2004 22:07:34

Me olvidaba de una más, que también he visto que es muy común: Puedes fijarte si no existe en Screen.Forms[] una instancia de la clase que desas crear.

Saludos!


La franja horaria es GMT +2. Ahora son las 21:21:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi