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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2015
rarratia rarratia is offline
Miembro
 
Registrado: sep 2004
Posts: 50
Poder: 20
rarratia Va por buen camino
Función de Clase para iniciar formulario

Estimados, se puede crear una función de clase para crear y llamar a un formulario de una manera bien cómoda, por ejemplo definir la siguiente función de clase para un formulario modal:

Código Delphi [-]
class function Tf_smName.MostrarVentana(ATag : Integer) : TModalResult;
begin
    with Create(Application) do
    Try
      Tag      := ATag;
      Result   := ShowModal;
    finally
      Free;
    end;
end;

Luego dejas tu formulario no como autocreado sino disponible y en cualquier parte de tu código llamas a la función de clase:

Código Delphi [-]
Tf_smName.MostrarVentana(nroTag);

Para el ejemplo lleno la variable tag para que el formulario sepa debido a qué se le llama.

El problema es que en el evento OnCreate del formulario que hereda esta funcionalidad debo poner:
Código Delphi [-]
f_smName := Self;

Esto es como todos ustedes bien saben, porque las funciones de clase dan funcionalidad a la clase y no instancias objetos, por lo que el único objeto que queda instanciado con esta llamada es Self, luego debo apuntar Self al objeto de formulario con su respectivo nombre.
¿A alguien se le ocurre alguna forma que en el formulario con la funcionalidad básica y del cual se heredan todos los formularios de una aplicación quedara instanciado el nombre y no que tenga que colocar el puntero Self al nombre en cada OnCreate de cada formulario?
No se si se entiende bien la pregunta, pero esa es una duda que dejo de inquietud. (Ojo, la inicialización de la variable Tag no está disponible en el OnCreate, si en el resto del programa).
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Como crear un formulario de iniciar sesion desde base de datos access?(Delphi 7) feliz-58 Varios 3 27-12-2012 16:38:26
llamar una función desde un formulario cjamacaru PHP 1 03-12-2009 12:52:53
Clase función romanuel C++ Builder 5 20-02-2008 19:42:27
cambiar el formulario q se muestra al iniciar tiagor64 OOP 7 17-06-2005 18:17:49
Ejecutar función al cargar formulario lic_francisco Varios 1 03-05-2005 09:05:49


La franja horaria es GMT +2. Ahora son las 03:06:38.


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