Ver Mensaje Individual
  #7  
Antiguo 02-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.307
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Sigo pensando que esa referencia al nombre del formulario va a dar siempre error.
Yo lo he probado cambiando por component, tal y como te he dicho antes y eliminandole el último else y parece que funciona.

Aquí te subo el ejemplo.

Código Delphi [-]
procedure CreateForm1(ClassName: TPersistentClass; FormName: String);
var
  Component : TComponent;
begin
  // busco si el form está ya creado  (a)
  Component := Application.FindComponent(FormName); 
  // No está creado?  ==> Lo creo
  if not Assigned(Component) then begin
    try
      // Buscar la clase
      FindClass('T'+FormName);
    except
      // si no la ha encontrado la registro
      classes.RegisterClass(ClassName);
    end;
    // Creo el form a partir de la clase (queda en component -referencia-) (b)
    Application.CreateForm(TComponentClass(ClassName), component);
  end;

  // Abro el form, ya sea por encontrado(a) o por creado(b)
  TForm(Component).Show;
end;
Archivos Adjuntos
Tipo de Archivo: zip OpenForms.zip (11,3 KB, 10 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita