Ver Mensaje Individual
  #2  
Antiguo 19-10-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No sé qué relación haya entre un apuntador y rtti, al menos no a primera vista. Un apuntador normalmente contiene la información del tipo de datos al que apunta en su propio tipo de datos, esto es, un PInteger, por ejemplo, está declarado como

Código Delphi [-]
type
  PInteger = ^TInteger;

esto es, como un apuntador a Integer, de manera que, en tiempo de compilación, se sabe a qué apunta.

No obstante, también hay apuntadores genéricos

Código Delphi [-]
var
  P: Pointer;

que pueden apuntar a cualquier cosa que tu les digas (mediante un moldeo de tipos), y el compilador, por lo general, te "creerá". Por ejemplo:

Código Delphi [-]
TForm(P).Show;

Aquí estás diciendo al compilador, que P apunta a un TForm, e invocas su método Show. Obviamente, en la ejecución saltará algún error en caso de que le hayas "mentido" al compilador.

Pero el punto aquí, es que ese tipo de apuntadores pueden apuntar a lo que sea, e incluso cambiar lo apuntado durante la ejecución, de manera que no creo que haya forma de saber el tipo de datos de lo que apuntan, aunque, desde luego, puedo estar equivocado.

// Saludos
Responder Con Cita