Get Position of a struct var AKA Offset des Datensatzfeldes
Ich möchte eine "Position" einer Struktur / eines Datensatzes erhalten.
Angenommen, ich habe diese Aufzeichnung:
type
MyStruct = record
MyInteger : Integer;
MyInteger2 : Integer;
MyInteger3 : Integer;
MyFunc : function (FirstParam : WideString; SecondParam : String) : Integer;
MyString : String;
MyString2 : WideString;
MyPchar : pchar;
end;
Wie Sie sehen, hat dieser Datensatz eine Größe von 28 Bytes (7 Vars x 4 Bytes). Grundsätzlich, weil alle Variablen entweder 4-Byte-Variablen (wie Integer) oder Zeiger (auch 4 Bytes) sind. Nehmen wir nun an, wir haben diese Struktur in eine Speicheradresse (X = 0) geladen (was auch bedeutet, dass die Adresse für MyInteger 0 wäre). Die Adresse von MyInteger3 (zum Beispiel) wäre 8 (achten Sie auf das X = 0!) Wie kann ich die Position (Nummer / Adresse) der Struktur dynamisch ermitteln?
Hoffe ihr wisst was ich meine? Danke im Voraus.
Übrigens: Ist irgendein Var immer 4 Bytes in einer Struktur? BEARBEITEN: Dies ist falsch, wenn Sie die spcae beheben:String[100]