Dein gewünschtes Feature gibt es in Delphi nicht (in FPC {$PACKSET x}).
Du kannst die entsprechende Aufzählung um Dummies erweitern, oder das größtmögliche Aufzählungsmitglied (31) als einzigen Dummy definieren (für nicht fortlaufende oder nicht mit 0 beginnende Aufzählungen wird allerdings keine
RTTI-Information erzeugt!).
ps: siehe
http://www.delphipraxis.net/internal...=882557#882557
pps:
Zitat von
himitsu:
und dises geht auch, aber es sieht irgendwie blöd aus
Delphi-Quellcode:
type
LOCKTYPE = Set (
LOCK_WRITE = 1;
LOCK_EXCLUSIVE = 2;
LOCK_ONLYONCE = 4;
_locktype_align = 31);
Das ist nicht korrekt, es müsste so aussehen:
Delphi-Quellcode:
type
PLockType = ^TLockType;
TLockType = set of (
LockTypeWrite, // (Bit) 0
LockTypeExclusive, // (Bit) 1
LockTypeOnlyOnce, // (Bit) 2
LockTypeForceDWORD = 31
);
const
LOCK_WRITE = DWORD(1 shl DWORD(LockTypeWrite));
LOCK_EXCLUSIVE = DWORD(1 shl DWORD(LockTypeExclusive));
LOCK_ONLYONCE = DWORD(1 shl DWORD(LockTypeOnlyOnce));
Die Ordinalwerte von LockTypeXxx und LOCK_Xxx sind unterschiedlich! (bis aufs erste