Forum: Object-Pascal / Delphi-Language
Delphi
by SirThornberry,
3. Jan 2010
Das sollte nicht so sein. Denn SizeOf wird bereits beim compilieren aufgelöst und nicht erst während der Laufzeit. Man könnte ebenso Nachricht oder Nachricht nehmen. Ausschlaggebend ist hier einzig und Allein das der Typ zum Zeitpunkt des compilierens fest steht und somit kann die Größe korrekt ermittelt werden.
So kenne ich Beispiele bei denen die Größe eines Record-Members ermittelt werden...
Forum: Object-Pascal / Delphi-Language
Delphi
by SirThornberry,
3. Jan 2010
Diese Zeile hier ist nicht die beste Art:
CopyDataStruct.cbData:= (Length(Nachricht) + 1) * 2;
Wenn man das "*2" fest rein schreibt ist es kein Wunder das man beim Wechsel zwischen Delphiversionen dann wieder Probleme bekommt. Richtiger wäre hier mit sizeof zu arbeiten.
CopyDataStruct.cbData:= (Length(Nachricht) + 1) * sizeof(Nachricht);
Und das "+1" würde ich weg lassen und...