クライアントアプリケーションとサーバーアプリケーション間で受け渡すライトオブジェクトデータパッケージを作成したいと思います。
これは非常に単純なタスクなので、1バイトで制御できるため、1バイトの各ビットの意味は異なります。
ビットのみを使用
0 = False
1 = True
私が今必要とするItens:
1 - Loaded from database
2 - Persisted
3 - Changed
4 - Marked to Delete
5 -
6 -
7 - Null Value
8 - Read Only
1) How do I use bit operators in Delphi to check each bit value?
2) How do I set the bit Values?
解決
すべての助けの後、私は次のセットを使用します
TStateType = (
stLoaded = 0, // loaded from persistance
stNative = 2, // value loaded and converted to native type
stPersisted = 3, // saved
stChanged = 4, // object or member changed
stToDelete = 5, // marked to delete
stReadOnly = 6, // read only object, will not allow changes
stNull = 7 // value is null
);
TState = Set of TStateType;
そして、ストリーム->永続性の場合、これが使用されるレコードになります。
TDataPackage = record
Data: TBytes;
TypeInfo: TMetaInfo;
State: Byte;
Instance: TBuffer;
end;
みんな、すべての答えとコメントをありがとう。