Ver Mensaje Individual
  #7  
Antiguo 20-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tú estás mezclando los dos métodos que se hablaron aquí:

Código Delphi [-]
var
  FormClass: TPersistentClass;
begin
  FormClass := GetClass(i);
  if Assigned(FormClass) then
   if (FormClass.InheritsFrom(TForm)) then

   (* !! AQUÍ !! *)

      with Application do
           if Assigned(FindComponent(i)) then
              (FindComponent(i) as TForm).ShowModal()
           Else
               ShowMessage('No Encontrado');
End;

Si haces una traza del programa, notarás que la ejecución logra llegar donde marqué; lo cual quiere decir que sí encontró la clase (GetClass) y sí se trata de un formulario (InheritsFrom).

Pero luego es cuando mezclas el otro método, y el condicional falla (FindComponent), y falla por lo que comentó dec: para que funcione, tendrían que crearse los formularios desde el inicio de la aplicación, en el autocreate.

Entonces, para que funcione, tendrías que quitar esa parte y dejar el código tal como lo puse yo, o bien olvidarte de mi método y usar el de dec, pero lo esencial es que no mezcles una cosa con la otra.

// Saludos
Responder Con Cita