Получить Положение struct var AKA Смещение поля записи

Я хотел бы получить "позиция" структуры / записи.

Скажем, у меня есть эта запись:

type
  MyStruct = record
    MyInteger   : Integer;
    MyInteger2  : Integer;
    MyInteger3  : Integer;
    MyFunc      : function (FirstParam : WideString; SecondParam : String) : Integer;
    MyString    : String;
    MyString2   : WideString;
    MyPchar     : pchar;
end;

Как видите, эта запись имеет размер 28 байт (7 переменных х 4 байта). В основном потому, что все переменные являются либо 4-байтовыми (например, Integer), либо указателями (также 4-байтовыми). Теперь давайтескажем, у нас есть эта структура, загруженная в адрес памяти (X = 0) (что также означает, что адрес для MyInteger будет 0). Адрес MyInteger3 (например) будет 8 (знайте о X = 0!). Как я могу динамически получить позицию (номер / адрес) структуры?

Надеюсь, вы, ребята, понимаете, о чем я? Заранее спасибо.

Кстати, есть ли в Var всегда 4 байта в структуре? РЕДАКТИРОВАТЬ: Это неправильно, если вы исправляете spcae:String[100]

Ответы на вопрос(2)

Ваш ответ на вопрос