Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 26-08-2003
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 835
Poder: 24
gatosoft Va camino a la fama
Prueba la siguiente función:

Código:
Function Get_Frm(pNombreFrm:String):Tform;
Var i:Integer;
     vFrm:Tform;
Begin
Result:=nil;
  For i:=0 to Screen.FormCount-1 do
    Begin
      vFrm:=Screen.Forms[i];
      if UpperCase(vFrm.ClassName)=UpperCase('T'+pNombreFrm) then
         Begin
         Result:=vFrm;
         Exit;
         end;//if
    end; //For i
end;
Esta te devloverá todos los formularios que estan Creados pero no son visibles. (Estos se guardan en la lista Screen.Forms[i]);

Para probar como funciona, debes hacer lo siguiente:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var Elform:Tform;
begin
  Elform:=Get_Frm('Form2');
  if ElForm=nil then
     showmessage('No se puede mostrar el formulario')
  else
    ElForm.Show;
end;
Esto es solo para formularios que no se crean dinámicamente.
si lo quisieras hacer con formularios dinámicos, Lo ideal seria hacer algo como:

Código:
Código erróneo....

  pNombreFrm:='Form3';
  vFrm:=TFormClass('T'+pNombreFrm).Create(Application);
  (vFrm as TFormclass('T'+pNombreFrm)).showmodal;
Pero eso no funciona.... Entonces por ahora (mientras averiguamos como hacerlo), deberias ser mas explicito y evaluar tu cadena de texto asi:

if Uppercase(pNombreFrm)='FRMPRINCIPAL' then
begin
frmPrincipal:=TFrmPrincipal.create(self);
frmPrincipal.show;
end;


..etc...


Saludos....
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 01:49:45.


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
Copyright 1996-2007 Club Delphi