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
|