Ver Mensaje Individual
  #7  
Antiguo 11-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Reholas.

Estuve pensando casi 1 hora como responder el mensaje anterior, sin mucho éxito, verás:

El problema que intentan solucionar todas las rutinas es encontrar si la ventana está creada o no y después interactuar con ellas. Usando otra filosofía nos quitamos ese problema de encima:

Código Delphi [-]
procedure TForm1.FormClose(... Action:TCloseAction);
begin
  Action := cafree;
  Form1 := nil
end;
Ya no tenemos que buscar en todas las ventanas de TScreen para saber si está creada o no, basta con:
Código Delphi [-]
if Assigned(Form1) then // equivale a if Form1 <> nil then
  // está creada
else
  // no lo está
end;

DestruirForma se consigue accediendo a Form1.Close

ExpandirForma se puede sustituir por el método SetBounds del TForm, que ya permite modificar sus cuatro propiedades top, left, width, height y es una sola llamada. Sí le vería sentido a ExpandirForma si al agrandar el ancho no cupieses en pantalla y entonces modificara su Left para que tuviese el ancho especificado por parámetro.

Las rutinas MinimizarAplicacion y FinalizarAplicacion son más del tipo "Sistema GH" de Al González, en ese aspecto no entro, ya que le tengo bastante respeto a Al, y a sus conocimientos ; yo al menos no usaría un procedimiento que solo tenga una línea de código.

Si ya estan diseñadas las funciones y las estas utilizando, no cambies el código, pero no te aconsejaría que creases mil y una función, (mira sistema GH antes )

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita