Zitat von
jbg:
Zitat:
sizeof(Nachricht[1])
Hoffen wir mal das Nachricht nicht '' ist, sonst krachts.
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[0] oder Nachricht[5000] 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 soll wo keine Instanz des Records vorhanden ist. Dort wird dann einfach nil auf den pointertyp des Records gecastet, dereferenziert und dann die Größe des Members ermittelt. Dies ist gängige Praxis. (Im ersten Moment sieht dies Haarstreubend aus aber es gibt kaum eine bessere Möglichkeit)