Uzyskaj pozycję struktury var var AKA Offset pola rekordu
Chciałbym uzyskać „pozycję” struktury / rekordu.
Powiedz, że mam ten rekord:
type
MyStruct = record
MyInteger : Integer;
MyInteger2 : Integer;
MyInteger3 : Integer;
MyFunc : function (FirstParam : WideString; SecondParam : String) : Integer;
MyString : String;
MyString2 : WideString;
MyPchar : pchar;
end;
Jak widać ten rekord ma rozmiar 28 bajtów (7 varów x 4 bajty). Zasadniczo, ponieważ wszystkie vary są albo 4 bajtami vars (takimi jak Integer) lub wskaźnikami (także 4 bajty). Powiedzmy, że mamy tę strukturę załadowaną do adresu pamięci (X = 0) (co oznacza również, że adres MyInteger będzie równy 0). Adres MyInteger3 (na przykład) wynosiłby 8 (pamiętaj o X = 0!) Jak mogę dynamicznie uzyskać pozycję (numer / adres) struktury?
Mam nadzieję, że wiecie, co mam na myśli? Z góry dziękuję.
BTW: Czy jakikolwiek Var ma zawsze 4 bajty w strukturze? EDYCJA: To jest złe, jeśli naprawisz spcae:String[100]