Forum: Object-Pascal / Delphi-Language
Delphi
by Thom,
18. Okt 2011
Noch eine Merkwürdigkeit im Zusammenhang mit anonymen Methoden:
Eine anonyme Methode ist nach außen hin nur ein einfacher Pointer. Ein SizeOf(TProc) liefert also unter 32 Bit erwartungsgemäß 4 Byte. Im Gegensatz dazu bestehen Objekt-Methoden aus einem Daten- und einem Code-Pointer. Deshalb liefert SizeOf(TMethod)=8 (unter 32 Bit).
Jetzt sollte man natürlich annehmen, daß der doppelt so...
Forum: Object-Pascal / Delphi-Language
Delphi
by Thom,
16. Okt 2011
@carlo93
Nö - das ist seine "nette" Art mit anderen umzugehen... Das findest Du in fast jedem seiner Beiträge. :zwinker:
Zu Deiner Frage:
Der Compiler speichert die von anonymen Methoden genutzen Variablen (Variablenbindung). Diese werden in TInterfacedObject-Derivaten mit Referenzzählung abgelegt.
Aus für mich nicht ersichtlichen Gründen besitzen diese Frames nach der Erstellung der...