PDA

Ver la Versión Completa : Dado un objeto obtener la lista de procs and functions


avmm2004
10-02-2015, 19:28:58
Hola a todos, tengo una pequeña (¿?) duda. a ver si alguien me puede ayudar.

Recibo en una dll un parametro / Objeto del tipo pointer y necesito saber las funciones / procedimientos que tiene ese objeto, vamos una lista de ellas.

Se el tipo de objeto que es ... pero no tengo acceso al programa llamador y necesito acceder a valores de ese objeto o a procs, funciones.

¿ Se puede hacer ?

El problema es que el programa llamador se hizo con unos componentes de terceros antiguos ( no tengo los fuentes ) y la dll con esos mismos componentes pero los nuevos.

Evidentemente las estructuras son diferentes y necesito ver valores contenidos en el objeto que me pasan un pointer.

Es dificil o imposible ?? O es una tontería y no loa conozco.

Gracias.

ecfisa
10-02-2015, 20:27:11
Hola avmm2004.

A partir de Delphi 2010, con RTTI extendido, podrías intentar obtener esa información ( Get list of object's methods, properties and events? (http://stackoverflow.com/questions/1406436/get-list-of-objects-methods-properties-and-events) ). Pero con versiones anteriores sólo podrás obtener una lista reducida a los métodos publicados.

Saludos :)

avmm2004
11-02-2015, 15:21:18
Gracias ecfisa. Hice pruebas en delphi xe2 y funcionó perfectamente ..... pero cuando lo probe con el puntero que me venía (pointer) desde la dll falló.
Main program (delphi 7) ---> dll en delphi xe2

Yo creo que el problema es que yo solo tengo control en la dll y el programa que me envía el pointer (objeto) creo que se hizo en en delphi 7.

Gracias de todas formas.

Ñuño Martínez
11-02-2015, 15:37:35
El problema con la DLL es que, para que funcione la sugerencia de Ecfisa, la aplicación también debe contener la información apropiado (lo que es lo mismo, compilado con RTTI). Si no lo está, no te servirá de nada.