Ver Mensaje Individual
  #2  
Antiguo 29-07-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Reputación: 22
__marcsc Va por buen camino
Hola,

piensa que esto es una cosa poco natural, y sería conveniente que tuvieras un buen motivo para hacerlo...

Lo que puedes hacer, en teoría, es conocer la dirección de un método publicado de un objeto, gracias a la función de clase MethodAddress de la clase TObject.

Código:
class function MethodAddress(const Name: ShortString): Pointer;
Si eso no te sirve dudo mucho que puedas hacerlo, recuerda que Delphi es un lenguaje compilado y por tanto para hacer eso que tu quieres el compilador debería generar esa información (que yo sepa no lo hace).

Lo que hace esa función de la clase TObject puede hacerse gracias a la RTTI (Runtime Type Information) que se mantiene de cada objeto. Concretamente esa función es utilizada por el sistema de streaming de Delphi, es decir, se utiliza cuando se lee de un fichero dfm, ya que de allí se lee un nombre de procedimiento (publicado) que debe poder traducirse en una dirección de memoria.

Espero una contestación

Saludos.
Responder Con Cita