Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2005
Luis Luis is offline
Miembro
 
Registrado: may 2003
Posts: 40
Poder: 0
Luis Va por buen camino
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 ?

Responder Con Cita
  #2  
Antiguo 10-03-2005
Avatar de sercornejov
sercornejov sercornejov is offline
Miembro
 
Registrado: may 2003
Ubicación: Neiva - Colombia
Posts: 88
Poder: 21
sercornejov Va por buen camino
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
__________________
En Colombia hay muchos, pero muchos colombianos muy buenos. Los violentos son pocos y los vamos a controlar...
Responder Con Cita
  #3  
Antiguo 10-03-2005
Luis Luis is offline
Miembro
 
Registrado: may 2003
Posts: 40
Poder: 0
Luis Va por buen camino
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".

Responder Con Cita
  #4  
Antiguo 10-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 10-03-2005
Luis Luis is offline
Miembro
 
Registrado: may 2003
Posts: 40
Poder: 0
Luis Va por buen camino
Muchas gracias roman, voy a implementarlo.

Responder Con Cita
  #6  
Antiguo 10-03-2005
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 10-03-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Código Delphi [-]
procedure ShowForma(TF:TClassForm);
Begin
  With TF.Create(Self) Do Try
    ShowModal;
  Finally
    Free; 
  End;  
End;
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 11-03-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
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;
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:15:29.


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