Ver Mensaje Individual
  #4  
Antiguo 27-01-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola AFilth.

Te hago las mismas preguntas que Poyo, solicitándote que nos plantees cuál es el propósito de conocer el tamaño de toda la rama de datos (o aclares si es otra cosa lo que buscas). ¿Algo que ver con el almacenamiento de los mismos en algún medio? Danos más detalles de tu caso, por favor.

Cita:
Empezado por poyo Ver Mensaje
hay alguna que otra estructura interna en los objetos como ser la VMT.
Secundando el comentario de Poyo, en la RTTI muchas clases tienen algo llamado "tabla de inicialización" (initialization table), en el desplazamiento negativo vmtInitTable de su VMT (ver unidad System.pas). Su existencia permite que los objetos automáticamente liberen campos ("variables" de datos) de tipos que usan contadores de referencia, cuando las instancias son destruidas. Gracias a esa información es posible conocer más sobre la memoria que ocupan ciertos campos, como los de tipo String, pero no puedes conocer del todo las ramificaciones de punteros como los campos de tipo objeto (a menos que éstos estén representados por propiedades publicadas).

Sin adentrarnos más en el lado "tenebroso" del compilador, te invito a dar algo más de contexto sobre tu caso.

Saludos.

Al González.
Responder Con Cita