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 15-09-2004
walrus walrus is offline
Miembro
 
Registrado: ago 2004
Posts: 40
Poder: 0
walrus Va por buen camino
Herencia visual con TFrames y otros asuntos

Hola a todos.

Quiero simplificar un proyecto y pienso utilizar herencia visual para ello. Aparte de Forms he visto que se puede heredar visualmente de un TFrame, lo cual es lo que quiero hacer.

Sin embargo, como ya tengo hecha la interfaz de las ventanas quisiera hacer el proceso lo mejor posible. La manera que suelo emplear es: creo un TFrame heredando del TFrame base o padre; del Frame original copio y pego al nuevo los compos que no se heredan, y cut&paste también del código extra. Una vez creo que tengo todo, cruzo los dedos, quito la unit del proyecto (hago una copia de seguridad de la misma... a veces), y a continuación guardo la nueva unit (con el nuevo TFrame heredado visualmente) con el mismo nombre que la original. Esto es, sustituyo el frame original por el heredado. Finalmente, añado la nueva unit al proyecto. Esta es my way de emplear OOP a proyectos ya hechos.

Cositas malas en este esquema:
  1. "Bad design". Basicamente, si hubiera pensado antes en crear un TFrame base y simplemente heredar visualmente no tendría este problema. Buen razonamiento, si señor, pero le diré que yo personalmente también deseo poseer una máquina del tiempo y rectificar muchas cosas. La bonoloto de la semana pasada, por ejemplo.
  2. "Cut&Paste" hasta el infinito y más allá. A veces, me siento a cenar y me dicen qué por qué tamborileó de una manera tan extraña, con los dedos índice y la mano rigida y estirada, en vez de con los pulgares, que es lo habitual, y apoyando los dedos meñiques, como teniendo pulsado algo.
He pensado en lo siguiente: pasar olimpicamente de la herencia visual y escribir directamente en la declaración del Frame:

Código Delphi [-]
type
    TFrameEx1 = class(TFrameEx)

Donde TFrameEx es el TFrame base y TFrameEx1 el que pienso sustituir. Luego quedaría basicamente eliminar todo aquello que ya viene heredado.

¿Me dará problemas? ¿Qué me pierdo por no usar herencia visual?

Por otro lado, dado que no se puede usar herencia visual con Forms que contienen algunos componentes de D7 (y creo que de D6) como el TActionManager, TActionToolBar, TActionMainMenuBar, etc ...

¿Podría ser esta una manera de esquivar esta restricción?

Agradecería cualquier comentario.
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


La franja horaria es GMT +2. Ahora son las 11:41:06.


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