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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2004
eirud20 eirud20 is offline
Registrado
 
Registrado: jul 2003
Posts: 1
Poder: 0
eirud20 Va por buen camino
Smile Como crear un Inspector de Objetos?

Saludos a todos...

¿Donde puedo encontrar infamación para crear un Inspector de Objetos parecido al de Delphi?. Donde se explique como es su funcionamiento, para tener una idea y poder crear uno.

Muchas gracias...
Responder Con Cita
  #2  
Antiguo 21-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Las componentes Jedi incluyen un ispector de objectos TJVInspector e incluye el código fuente que puedes estudiar.

Yo nunca he hecho uno pero si lo fuera a hacer supongo que comenzaría estudiando RTTI que es lo que hace funcionar al inspector de objetos de Delphi. RTTI te sirve para poder leer las propiedades publicadas (published) de un objeto. Tendrás quizá que recorrer la lista de componentes de un formulario (propiedad Components) y usar RTTI para listar todas las propiedades publicadas de cada componente así como su tipo de datos y otra información.

// Saludos
Responder Con Cita
  #3  
Antiguo 21-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Te cuento que hace mucho, mucho tiempo hice uno, como tu dices, en aquel momento no había ninguno en la web, hoy si los hay, pero bueno… uno tiene su orgullo .
El componente básicamente hereda de un TTreeView y tiene nodos propietarios, con mas propiedades, por ejemplo el tipo de editor de propiedades y el valor de la propiedad, los nodos propietarios fueron el primer problema ya que puedes agregar nodos de cualquier tipo heredados de TTreeNode pero el TTreeView maneja todas sus colecciones como TTreeNode, o sea que queda poco transparente para el usuario final. El segundo gran problema es que no pude acceder a los editores de propiedades registrados en Delphi, en aquel momento envié un mail a Borland y me respondieron que ellos no publican el código del IDE y que no me iban a dar soporte sobre el mismo, así que este componente solo soporta algunos editores estándar que tuve que desarrollar.

Bueno, vale aclarar que fue hace mucho y puede que algún concepto se me haya enturbiado, pero si quieres verlo funcionar, por ejemplo se usa en el PeepMachine que puedes bajar de mi página, o mañana te subo un ejemplo.

PD: Si utilizaba RTTI como bien comenta Román.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 21-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues vaya trabajo enorme que hiciste. Mis respetos, en serio.

Sí que me gustaría ver el ejemplo. Ahora, ya sabes, no se puede entrar a tu página pero lo haré mañana.

Un saludo
Responder Con Cita
  #5  
Antiguo 21-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
Sí que me gustaría ver el ejemplo. Ahora, ya sabes, no se puede entrar a tu página pero lo haré mañana.
Bueno, me ha costado pero lo he subido, pueden bajar un ejemplo de la parte de componentes de mi página (Espero que lo hagan). Tuve que rearmar el paquete EditSuite y no pude subir todos los archivos porque no me deja el servidor, espero que esten los necesarios. Me costó enviarlo porque como no lo he usado lo tenía abandonado, y los componentes que este utiliza se han actualizado y el Inspector perdió funcionalidad. Tengan en cuenta que no es un componente probado, es mas, fueron mis primeros pasos en Delphi por lo que no creo que esté muy prolijamente desarrollado, y carece de potencialidad.

Info:
Se trata de dos componente, el primero TTreeInspector, antes se llamaba TInspector pero en Delphi 7 apareció una clase homónima, este componente sirve para armar un Inspector "a mano" con las propiedades o datos que queramos ver. El segundo componente es el TObjectInspector, en la propiedad Inspect se asigna la clase persistente que será inspeccionada y el componente automáticamente carga las propiedades

Problemas Conocidos:
- Flashea cuando se mueve el divisor vertical
- No esta mostrando el Address de los métodos
- El ObjectInspector es de solo lectura
- No soporta todos los tipos de datos (Prop TypeKinds)
- Cuando esta ReadOnly = True deja modificar los datos si se despliega el combo
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 22-04-2004 a las 15:43:01. Razón: Agregué un "Problema Conocido"
Responder Con Cita
  #6  
Antiguo 21-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Muchas gracias, ya lo bajo ahora mismo y prometo verlo pronto.

Una pregunta: el editsuit7.rar no existe, ¿el editsuit6.zip me sirve en D7?

// Gracias
Responder Con Cita
  #7  
Antiguo 22-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
Una pregunta: el editsuit7.rar no existe, ¿el editsuit6.zip me sirve en D7?
No creo que funcione.. fíjate ahora, he renombrado el link


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 22-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por delphi.com.ar
No creo que funcione.. fíjate ahora, he renombrado el link
Ya lo bajé gracias. Al rato pruebo.

// Saludos
Responder Con Cita
  #9  
Antiguo 22-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Guau!!

Ya pude instalarlo y mis respetos nuevamente. Se ve que hay un enorme trabajo detrás. El componente se ve idéntico al de Delphi y, salvo por los editores de propiedades que antes mencionaste, se comporta exactamente igual.

Me pongo de pie

// Saludos
Responder Con Cita
  #10  
Antiguo 23-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
... Me alegro que te haya gustado. Te cuento que tooodo el comportamiento, no es igual al de Delphi, recuerdo que intenté que se pueda "AutoScrollear" como el de Delphi (si uno hace click en un item y baja o sube, el inspector se mueve solo) y no lo terminé, otro detalle es que es muy customizable, en este caso se ve igual al de Delphi, pero jugando con las propiedades puedes lograr que se vea igual al de VB u otros lenguajes.

Saludos, y gracias!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



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 01:03:33.


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