Zu dem Packed:
Weniger wichtig als die tatsächliche Ausrichtung der Daten ist die Tatsache, dass die Ausrichtung bekannt ist. WEnn du z.B. weißt, dass dein Compiler immer an 64-bit-Grenzen ausrichtet, kannst du das eventuellen Benutzern deines Codes sagen und sie können die Daten danach ausrichten. In C# ist es beispielsweise im Normalfall überhaupt nicht festgelegt, wie die Daten genau ausgerichtet werden, aber man kann entweder das Packing oder das exakte Layout der Elemente spezifizieren.
Zitat:
Also kann ich z.b. Boolean, Cardinal, ... ohne weiteres verwenden oder bei was muss ich aufpassen.
Jein.
In C gibt es beispielsweise keinen bool-Typ. Und ob ein bool-Typ in C++ oder C# identisch ist oder mit dem Delphi-Typ identisch, sei dahingestellt. Bei Typen wie Cardinal solltest du dich vielleicht an den
Win32-Typen orientieren, da ein typischer C- oder C++-Programmierer Cardinal überhaupt nicht kennt (würde auf Anhieb auf DWORD tippen?). Generell müssten die meisten Sprachen, die unter Windows verwendet werden, auch die Standard-Windows-
API-Typen implementieren. Da gibt es auch einen BOOL-Typ, der wird glaub ich nach int übersetzt. Und irgendwie sagt mir dazu der Name LongBool etwas, das war vielleicht die Delphi-Entsprechung