FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola jocaro.
Cita:
Mediante RTTI, se puede obtener información sobre un objeto existente en tiempo de ejecución. De allí creo que viene la pregunta de Agustín, ya que si aún no existe una instancia de clase u objeto, no tiene sentido tratar de obtener información hacerca de él. Si bién es cierto que la clase define el estado interno y la implementación de un objeto, no es posible obtener información a partir una instancia de clase inexistente. Resumiendo, no se puede obtener información de algo que no existe. ¿ Podrías dar un ejemplo concreto de algún objeto e información que quieras obtener ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#2
|
||||
|
||||
Creo que se refiere a los componentes que se colocan en tiempo de diseño
|
#3
|
||||
|
||||
Esto me recuerda una atinada frase de nuestro compañero dec: "Lo que no se puede, no se puede, y, además, es imposible".
LineComment Saludos |
#4
|
|||
|
|||
Hola
Después de las primeras explicaciones de Al y Agustin, creo haber entendido la filosofía de RTTI y, como ya os decía anteriormente creo que lo que planteaba no era posible De todos modos como parece que no ha quedado clara mi consulta, la intento explicar con mas detalle por si este tema sirve de ayuda para otro interesado en el futuro. La situación sería la siguiente: En tiempo de ejecución puedes conseguir información de tipos a través de RTTI (Buttons, Treeview, Forms, etc. ). Cuando se está creando la aplicación puedes introducir la creación de un objeto bien en el código o en el .frm de la unidad y, cuando ejecutemos la aplicación, dicho objeto se creará al crear el form en el que está o cuando el programador decida crear la instancia; mi consulta era si podiamos conocer la información de las propiedades y métodos que tiene definidos ese futuro objeto, antes de que sea creado (pero sus propiedades y métodos están definidos en el código de la aplicación), a través de la información que se puede acceder a través de RTTI, o bien esa información antes de crear el objeto no puede ser accedida por RTTI o simplemente no existe. Es decir "Lo que no se puede, no se puede, y, además, es imposible". Muchas gracias por vuestro tiempo y el interés en ayudarme. Un saludo Última edición por jocaro fecha: 28-04-2016 a las 08:51:23. |
#5
|
||||
|
||||
Pero ya te han comentado que esa información se encuentra almacenada en el DFM, y el DFM se almacena como recurso en el ejecutable así que, en principio, sí puedes obtenerla. Lo que no queda clarao -sigue sin quedar claro- es qué es lo que quieres hacer. Sé que te has esforzado en explicarlo, pero, siceramente, no te entiendo. Creo que lo mejor sería que expusieras un caso de uso específico para saber qué es lo que quieres lograr.
LineComment Saludos |
#6
|
|||
|
|||
Ejemplo: Un pequeño gestor de información con dos forms
El form 1 tiene una funcion principal (recoger los datos necesarios para abrir una base de datos y llamar al form 2) y un menú con varias utilidades (usadas de vez en cuando) El form 2 tiene como función gestionar notas que almacena en una tabla de la base de datos. Para ello utiliza un treeview, un dbrichedit (contendidos en el DFM de la Unit), etc., con los cuales presentar dichas notas, editarlas, borrarlas, etc Consulta: Una de las utilidades del form 1 hace un tratamiento de la tabla que guarda las notas. Para ello necesitaría un dbrichedit prácticamente igual al del form 2 (en el momento de ejecutar la utilidad, el form 2 no está creado y por lo tanto el dbrichedit tampoco) ¿En este caso se puede recuperar del ejecutable (RTTI, DFM...) la información de las propiedades y eventos del dbrichedit del form 2 y utilizarlos para crear un objeto dbrichedit en el form 1? Si es así agradecería un pequeño ejemploUn saludo |
#7
|
|||
|
|||
Cita:
Gracias y un saludo |
#8
|
||||
|
||||
Para algo así podrías intentar con los marcos (frames). Son como formularios pequeños que contienen uno o más componentes establecidos con el diseñador de Delphi. En tiempo de ejecución puedes re-crear cualquiera de esos marcos e insertarlo en un formulario. Así haces en Delphi un sólo diseño y almacenamiento del DBRichEdit, que luego, al ejecutarse el programa, lo cargas e introduces en el formulario donde lo requieras, tantos DBRichEdits como necesites, incluso trabajando simultáneamente.
De hecho, sin ir tan lejos, puedes insertar los frames desde tiempo de diseño: diseñas un sólo marco y lo insertas en varios formularios antes de compilar. Busca "TFrame" en Google, añadiendo la opción site:www.clubdelphi.com (encontrarás más de mil resultados). Aunque te aconsejo que posteriormente revises a fondo el diseño de esa aplicación. ;-) Última edición por Al González fecha: 08-05-2016 a las 03:10:37. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Herencia externa de componentes (BPL)(RTTI) | jednavlop | OOP | 4 | 05-11-2010 18:37:14 |
Obtener información de hardware a través de API's de Windows (no componentes) | n3mohack | API de Windows | 7 | 15-10-2010 13:21:12 |
Acceder al objeto asociado a una prop. (RTTI) | Neftali [Germán.Estévez] | Trucos | 0 | 30-05-2007 13:39:22 |
Saber si un comp. tiene una propiedad (RTTI) | Neftali [Germán.Estévez] | Trucos | 0 | 30-05-2007 13:32:45 |
Recuperacion de informacion Tablas paradox | andresenlared | Tablas planas | 1 | 14-08-2004 13:08:10 |
|