Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Procedimiento para llamar formas (https://www.clubdelphi.com/foros/showthread.php?t=19300)

Luis 09-03-2005 23:11:22

Procedimiento para llamar formas
 
Hola foro, pretendo crear un solo procedimiento con parametro para mostrar varias formas de acuerdo a la selección de un listado, la idea seria la siguiente:

begin
...
VisualizaForma(NombreForma);
...
end;


procedure TfrmReportes.VisualizaForma(Forma : Tform);
begin
if not Assigned(Forma) then
Forma := TForma.Create(Application);
Forma.Showmodal;
end;

El usuario selecciona de un listado la forma, entoces se guarda el nombre en una variable NombreForma que es de tipo String y se pasa como parametro al procedimiento, pero al compilar el error es por los tipos de datos diferentes.

Que debo hacer ?

:D

sercornejov 10-03-2005 00:49:21

Hola.

Lo primero que debes hacer es colocar el tipo de error que te sale, la plataforma de desarrollo, la versión de delphi.

Saludos

Luis 10-03-2005 01:20:08

Creo que en este caso no tiene que ver la plataforma de desarrollo y la versión de Delphi, sin embargo te comento que estoy trabajando con cliente-servidor y utilizo Delphi 7

El error recuerdo que traducido significa "Tipos de datos diferentes".

:confused:

roman 10-03-2005 01:49:19

En resumen lo que necesitas es cómo poder crear un formulario a partir de su nombre. Una respuesta está en el hilo http://www.clubdelphi.com/foros/showthread.php?t=19194 que aunque fue abierto para formularios MDI en realidad aplica por igual a cualquier formulario.

// Saludos

Luis 10-03-2005 15:55:04

Muchas gracias roman, voy a implementarlo.

:p

samantha jones 10-03-2005 17:44:26

procedure myshowmodal(aClass:TclassForm; aForm:TForm);
begin
if not assigned(aForm) then
aForm:=aClass.Create(Self);
try
aForm.Showmodal;
finally
freeandnil(aForm);
end;
end;

Espero te sirva

rastafarey 10-03-2005 21:49:48

resp
 
Código Delphi [-]
procedure ShowForma(TF:TClassForm);
Begin
  With TF.Create(Self) Do Try
    ShowModal;
  Finally
    Free; 
  End;  
End;

argami 11-03-2005 14:29:43

otra opcion
Código Delphi [-]
 Procedure AbreForm(var Form:TForm; FormClase: TClassForm; AShowModal:Boolean = False);
 begin
  if not Assigned(Form) then
     begin
       Form := FormClase.Create(application);
         if AShowModal then
           Form.ShowModal
         else
           Form.Show;
   end else
   begin
     Form.bringtofront;
   end;
  end;


La franja horaria es GMT +2. Ahora son las 10:48:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi