![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Si si, gracias, lo que digo es que no entiendo como se implementa de esa forma, con los controles dataware en lazarus, que no se por donde estan o como se usan.
![]() |
|
#2
|
||||
|
||||
|
Es que eso de recorrer la lista de componentes... Nunca ha terminado de gustarme lo del RTTI. Que sí, que será muy útil, pero no termino de verlo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#3
|
||||
|
||||
|
¿Quién dijo RTTI?
LineComment Saludos |
|
#4
|
||||
|
||||
|
Lo de recorrer la lista de componentes de un formulario, ¿no necesita RTTI para que funcione? Pregunto.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#5
|
||||
|
||||
|
No. Lo que trae Delphi de fabrica es similar a crear mi propio arreglo (matriz) de componentes y exponer una propiedad para poder evaluarlo.
Basicamente, al poner un control se hace algo como: Formulario.ObjetoPadre.Add(ObjetoHijo). Y eso a donde va? a un arreglo. RTTI tiene que ver con "Introspección", que es la habilidad de poder evaluar las características del entorno/runtime/código desde dentro del mismo runtime. Si es un poco "deficiente" en Delphi, es que eso es un problema universal en los lenguajes con compilador Y tipos estáticos y sin un soporte de runtime potente, que es casi todos. Y es muy facil y natural en lenguajes con tipos dinámicos (como python), interprete (que es un introspector!) o con compiladores dinámicos (JIT). Por eso en .NET/Java es ligeramente mas potente la introspección (aunque sigue siendo engorroso en contraste con el codigo normal). En donde introspección/código normal es casi que lo mismo es en lenguajes homoiconicos como LISP, FORTH y demás.
__________________
El malabarista. |
|
#6
|
||||
|
||||
|
Tal como dice Mario. Aunque por un momento me ha entrado la duda de si el operador is -que casi seguro sería necesario en este contexto- no cae en el terreno de RTTI.
LineComment Saludos |
|
#7
|
||||
|
||||
|
Si no estoy equivocado, el operador is esta implementado mediante RTTI, lo cual lo hace "seguro" y "completo"; tambien devolveria True en los casos en que los objetos, pudiendo ser de distintas clases, son de asignacion compatible; esto tambien aplicaría a interfaces (siempre y cuando se declaren con GUID)
Por otro lado por eso sigo pensando que la opcion 2 es mas segura en este caso, pudiendo usar colecciones con tipos genericos, o si se trata de las versiones mas antiguas de Delphi, un array of TDBxxx |
|
#8
|
||||
|
||||
|
Cita:
Cita:
Cita:
![]() LineComment Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ocultar componentes en tiempo de diseño | ElDioni | OOP | 3 | 29-11-2011 17:41:47 |
| Componentes en tiempo de diseño | ElDuc | OOP | 12 | 10-02-2011 06:02:15 |
| eventos en tiempo de diseño | jar | OOP | 0 | 27-01-2007 22:09:11 |
| Indices En Tiempo De Diseño?? | amadis | Conexión con bases de datos | 0 | 12-04-2006 20:22:01 |
| Diseño en tiempo de ejecucion | Nelson Alberto | Impresión | 2 | 26-01-2006 09:34:12 |
|