Zitat von
jackie:
Hallo!
Danke erstmal für den Code!
Im Original erstreckt sich die union Struktur ja nur über Alignment, Length und IfIndex. In eurem Code schließt die case Anweisung aber mehr als nur diese Variablen ein. Das verstehe ich nicht ganz.
Das ist ja gerade das Problem.
sizeof(ULONGLONG) == 8
sizeof(ULONG) + sizeof(DWORD) == 8
Die Union hat also eine Größe von 8 Byte!
Dabei überlappen sich die Member nur bis IfIndex respektive Alignment. Der Rest muß an das Ende der Union geklatscht werden, weil die Delphi-Syntax es so will