Ver Mensaje Individual
  #4  
Antiguo 16-04-2007
Sinaloense Sinaloense is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Reputación: 21
Sinaloense Va por buen camino
Puedes crear un procedimento como el siguiente:

Código Delphi [-]
procedure TForm4.Button1Click(Sender: TObject);
begin
  ejecuta_forma('TForm6');
end;

procedure TForm4.ejecuta_forma(AClassName: String);
begin
  if AClassName = 'TForm5' then begin
     Form5 := TForm5.Create(Application);
     Form5.ShowModal;
     FreeAndNil(Form5);
  end
  else if AClassName = 'TForm6' then begin
     Form6 := TForm6.Create(Application);
     Form6.ShowModal;
     FreeAndNil(Form6);
  end;

end;

No se si es algo es lo que necesites, hay otra forma más complicada que involucra castings y punteros y funciona con cualquier tipo de forma.



Cita:
Empezado por juliobuitrago
Siempre suelo hacer este tipo de procedimiento para lamar a un form.
form1 := tform1.Create(Application);
try
form1.ShowModal;
finally
freeandnil(form1);
end;

Asi mismo para cuando uso reportes, yo uso el qreport
claro, con el print o con el preview en vez de ShowModal;

Pero ahora necesito tener el mismo procedimiento pero pasar el nombre del form como parametro.
Probé que lo que hay escrito en el forum al respeto, tomando la clase del form y demás, pero no me funcionó.

Es que los clientes me tiene locos, y cada uno pide el form de la plantilla diferente y por cada uno hacer lo mismo.........

Alguna solución dinámica, en la que yo pase por ejemplo:
'form1'
o 'form2
y el me sustituya y funcione?

Saludos de antemano.

Fernando
Responder Con Cita