Tema: Formas
Ver Mensaje Individual
  #4  
Antiguo 02-11-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si el formulario ya está creado entonces basta que busques su nombre en la variable global Forms.

Pero si lo que deseas es crear el formulario a partir de su nombre te recomiendo que en lugar de guardar el nombre del formulario guardes el nombre de la clase del formulario, esto es, en lugar de guardar 'MiForm' guardes 'TMiForm'.

Una vez hecho esto puedes obtener la referencia de clase necesaria para poder construir el formulario usando la función GetClass de la unidad Classes.pas:

Código:
var
  FormaClase: TFormClass;
  Forma: TForm;

begin
  FormaClase := TFormClass(GetClass(NombreForma));
  if FormaClase <> nil then
  begin
    Forma := TFormaClase.Create(Self);
    Forma.Show;
  end;
end;
Para que lo anterior funcione, la clase debe estar previamente registrada, lo cual conviene hacerlo en la sección initialization de cada formulario que desees construir de esta manera:

Código:
initialization
  RegisterClass(TMiForma);
end.
// Saludos
Responder Con Cita