Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#4

Re: abgeleitete Objekte wie Parent-Objekte verwenden

  Alt 25. Mai 2007, 09:32
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.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat