Obtener la posición de una estructura var AKA Offset of record field
Me gustaría obtener una "posición" de una estructura / registro.
Di que tengo este disco:
type
MyStruct = record
MyInteger : Integer;
MyInteger2 : Integer;
MyInteger3 : Integer;
MyFunc : function (FirstParam : WideString; SecondParam : String) : Integer;
MyString : String;
MyString2 : WideString;
MyPchar : pchar;
end;
Como puede ver, este registro tiene un tamaño de 28 bytes (7 vars x 4 bytes). Básicamente, porque todas las vars son vars de 4 bytes (como Integer) o punteros (también 4 bytes). Ahora digamos que tenemos esta estructura cargada en una dirección de memoria (X = 0) (lo que también significa que la dirección de MyInteger sería 0). La dirección de MyInteger3 (por ejemplo) sería 8 (¡tenga en cuenta que X = 0!) ¿Cómo puedo obtener la posición (número / dirección) de la estructura dinámicamente?
Espero que ustedes saben lo que quiero decir? Gracias por adelantado.
BTW: ¿Hay alguna Var siempre 4 bytes en una estructura? EDIT: esto es incorrecto si arreglas el spcae:String[100]