Получить Положение 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]