FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Si en tu componente has utilizado el Dummy con la propiedad Caption, por decir algo, para modificarla dentro de tu componente debes utilizar:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#2
|
||||
|
||||
Les agradezco a todos por el interes en el tema; pude hacer lo que queria.... lo que hice fua plicarle el Dummy a la propiedad items del componente heredado de un TListBox (dentro del componente se modifica usando el inherited como deijo neftali) y luego redefini la funcion additems para que no haga nada cuando esta es invocada...
Ademas de solucionarme el problema me explicaron algunas cosas que no tenia muy en claro asi una vez mas se los agradezco... y agregando un poco a lo que decia "Al Gonzalez", creo que Delphi es imprecionante a la hora de manejar la OOP y solo lo limita la imaginacion de quien programe en este sorprendente lenguaje... como decia mi profesor de informatica: "usen la imaginacion, del resto se encarga el compilador". |
#3
|
||||
|
||||
Se que ya sea comentado al respecto y se ha dado una posible solución. Esta es la 4ta o 5ta vez que leo el hilo y sigue habiendo algo que no me queda claro.
Cita:
Esto va por lo que ya Neftali recalcó: Cita:
Considero que elcolo83 nos explicase mejor su situación. Con haber dicho esas cortas frases no somos capaces de saber si es realmente beneficioso que implemente dicho truco ¿Cúal es el verdadero objetivo que te planteas elcolo83? El diseño de nuevos componentes que sirvan para propósitos generales no es una actividad que pueda tomarse a la ligera... Considero, y casi siempre hago llamar la atención, a que se haga un mejor y profundo análisis antes de optar por alguna alternativa. Al comienzo, en las primeras lecturas que hice del hilo, estuve pensando que se trata de un caso de Adaptador... que la clase oculte el comportamiento de un TListBox pero.... ahora decanto que sea ventajoso una alternativa como ésta. Sobre todo por el hecho de que me hice una simple pregunta ¿Y de que clase debe heredar el Adaptador? Al menos de lo que yo comprendo sobre el patrón adaptador se puede conseguir de estas formas: 1. Con la herencia:
2. Con el encapsulamiento:
Hay algo que no me ha dejado tranquilo y siento que algo se me escapa... Me gustaría que alguien me explicase que finalidad tendría hacer algo como lo del truco. Yo siento que se trata de un error de diseño (o mejor dicho de una comprensión erronea del dominio). Sabemos que el mundo POO está impregnado de la subjetividad (y personamlente es eso lo que lo hace grandioso, desafiante e interesante) pero me encantaría que tanto elcolo83 como los demás que han participado del hilo compartan su comprensión del tema aqui expuesto. Saludos, |
#4
|
|||
|
|||
Me permito contestarte alguna de tus cuestiones:
Cita:
Cita:
Cita:
Yo tampoco usaría este truco para este caso, sólo lo usaría en caso de que no existiese una clase TCustomXXXX para un componente. Sin embargo, como bien dices, lo bueno de Delphi es que nos permite varias alternativas para este (y otros muchos casos). Creo que si elcolo83 se decidió por esa opción es porque la vio más clara.
__________________
Saludos. |
#5
|
||||
|
||||
Muchas gracias basti por responder a mis dudas.
Espero que los demás también pudiera exponer su punto de vista, sobre todo que elcolo83 pudiera explicar el propósito de su solución. No es que esté criticando la manera en que trabaja sino que todavía me siento intranquilo con el tema. Reconozco que esto me ha llamado la atención y me gustaría conocer con mayores detalles lo que pretende elcolo83. Es que con decir esas únicas líneas, a mi no me bastaría, para optar por dicha solución... ¿Hay otros motivos que podrían tomarse en cuenta? elcolo83 no quiero iniciar problemas... sólo es que al estar acostumbrado a pensar demasiado en el enfoque tradicional de POO me hace sentir que ocultar un comportamiento heredado tal como lo planteas escapa a los conceptos que tengo. Me entaría, si se puede y no te es una molestia, que explicaras y profundizaras sobre el tema. Creo que puede hallarse otras alternativas que podrías tomar en cuenta. Saludos, |
#6
|
||||
|
||||
Cita:
En mi caso, y como ya he dicho alguna vez, no tiene nada que ver con la POO. Alguna vez he utilizado esta técnica por simple comodidad. Diseñamos componentes que luego utilizamos y hay muchas propiedades que por temas de simplicidad y por temas de estandarización nos interesa fijar y ocultar (para que no se modifiquen). Esta también es una buena opción para "Limpiar" la visión del inspector de objetos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Hola a todos, pido mil disculpas por mi ausencia, lo que paso es que estaba de vacaciones y sinceramente no he tocado una pc en una semana...
Bueno, les paso a explicar cual es la finalidad de mi componente para ver si se entiende que es lo que quise hacer (que de hecho gracias a la ayuda de muchos de ustedes logre)... El tema es que estoy haciendo una aplicacion que entre otras cosas lo que hace es guardar varios archivos (propios de la aplicacion) en un solo archivo, o sea varios TFlieStreams en uno solo y lo guardo con una extecion ".cont" (contenedor). Lo que hace mi nuevo TListBox es mostrarme el contenido del ".cont", y darme la posibilidad de extraer o agregar un archivo nuevo al punto "cont.". Es por eso que no queria que se agreguen item asi porque si ya que el componente podria mostrar un contenido que no es real... A este componente le agregue la funcion "AddItem" que lo que hace es agregar un archivo al ".cont" y mostrar nuevamente el contedido de este (por lo que aparecera un nuevo item) tambien le agregue una funcion llamada "GetItem" cuyo parámetro es el index al cual se quiere acceder y esta devuelve el nombre del archivo/item que esta en esa pocicion de la lista. No se si soy demaciado claro con esta explicacion... si no es asi por favor pregunten lo que sea necesario para aclarar el tema. Saludos... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ocultar propiedades | JulioGO | OOP | 6 | 26-12-2007 17:50:02 |
Herencia | miguel867 | OOP | 6 | 12-01-2007 23:08:20 |
Acceso a las propiedades de un objeto desde el editor de propiedades | Hugo | OOP | 0 | 24-11-2006 12:58:22 |
Ocultar propiedades heredadas en controles | ElDuc | Varios | 1 | 04-10-2006 20:10:08 |
Herencia | vegalisandro | OOP | 8 | 15-09-2003 14:30:42 |
|