
Zitat von
messie:
Ja aber Obj_2 hat ja eine größere Speichermaske. Wird die ohne Cast korrekt zugeschnitten?
Delphi hat keine Mehrfachvererbung, und dadurch werden solche Dinge zu einem no-brainer.
TObject1 hat meinetwegen 2 Felder, eins an offset 8 und eins an 12. Insgesamt ist eine Instanz davon vllt 16 bytes groß.
TObject2 erbt von Tobject1 und damit auch genau diese Struktur, alles weitere was hinzugefügt wird, landet hinten dran.
Wenn ich also das erste Feld von TObject1 auslesen will kann ich einfach 4 Bytes von (self^ + 8 ) auslesen.
Dabei ist es also egal ob die Instanz dahinter TObject1 oder TObject2 ist.