Jetzt doch noch eine Frage hinterher.
Durch den Case auf Integer ist ja festgelegt, dass die einzelnen Elemente des Records zwar unterschiedlichen Typs sein dürfen, aber im Speicher alle die gleiche Länge (Integer = 32 Bit) haben müssen. So hab ich es jedenfalls verstanden.
in der angegebenen Erläuterung zu union von nicodex (Link) ist aber folgendes Beispiel angegeben:
Code:
typedef union {
float einfach;
double mittel;
long double hoch;
} Reell;
hier sind doch definitiv unterschiedliche Längen definiert. Ein
Delphi-Quellcode:
TReell = record
case Double of
einfach : Float;
mittel : Double;
hoch : Int64;
end;
ist doch sicher nicht zulässig. Oder doch?
Gruß oki