Ver Mensaje Individual
  #15  
Antiguo 04-03-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 21
AzidRain Va camino a la fama
Yo uso esta función simplona que crea un formulario MDI o lo muestra si ya existe:

Código Delphi [-]
Type
 TFormClass = class of TForm;

Procedure CreateMDI(Owner:TForm;BaseClass:TFormClass;  FormVar:TForm);
var
found:Boolean;
i:integer;

begin
  found := FAlse;
  // recorremos el array de ventanas hijas
  For i:= 0 To Owner.MDIChildCount-1 Do
    If Owner.MDIChildren[i] is BaseClass Then
    Begin
      Owner.MDIChildren[i].Show;
      found := True;
    End;
  if not found then
    Application.CreateForm(BaseClass,FormVar);
end;

forma de Uso:
Código Delphi [-]
 CreateMDI(Application.MainForm, TMiForm, FMiForm);

Y voilá...reconozco que esta medio chapuceron pero hasta ahora me ha funcionado bien y simple, si la ventana no existe la crea, si ya existe la muestra.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita