Thema: Delphi Pointer SizeOf

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Pointer SizeOf

  Alt 13. Feb 2007, 13:48
Zitat von Robert Marquardt:
Zitat von dr. love:
Also, mit SizeOf() kann man ja die Größe einer Variable oder den von einem Zeiger reservierten/eingenommenen Speicherplatz herausbekommen.
Falsch.
SizeOf hat mit dynamisch alloziiertem Speicher nichts am Hut. SizeOf() liefert die Groesse eines Typs oder einer Variable. Es wird zur Compile-Zeit ausgerechnet. SizeOf(Pointer) ist also immer 4 egal wohin der Zeiger zeigt.
Auch Methoden-Zeiger haben die Groesse 4. Sie zeigen nur auf ein Record das zwei weitere Zeiger enthaelt. Dieses Record hat dann die Groesse 8.
Probiers mit sizeof aus. Ein Methodenzeiger hat 8 Byte, 4 Byte für die Instanz, 4 Byte für die Methodenadresse.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat