Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Typenlosen Datentyp an Funktion übergeben => size = 0

  Alt 27. Okt 2005, 18:36
SizeOf wird nicht zur Laufzeit ausgeführt sondern vom Compiler ersetzt. Wenn du keinen Typ angibst kann sizeof(der Compiler) natürlich auch keine Größe ermitteln. Und zur Laufzeit das ganze ermitteln geht auch nicht da ein untypisierter Parameter nix weiter als ein Pointer ist.
Aus diesem Grund haben solche funktionen auch fast immer einen weiteren Parameter der die Größe angibt. Zum Beispiel bei TStream.Read und TStream.Write ist der erste Parameter typenlos und der zweite gibt die size an.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat