记录字段的偏移量为常量

时间:2018-04-19 07:23:25

标签: delphi const offset record

我使用以下技术在运行时获取记录字段的偏移量:

const

这很好用。现在我希望将这些偏移量设为const cMyVarTyped: Pointer = @TGUID(nil^).D3; cMyVarUntyped = @TGUID(nil^).D3; cMyOffsetTyped: INT_PTR = INT_PTR(@TGUID(nil^).D3); cMyOffsetUntyped = INT_PTR(@TGUID(nil^).D3); ,但无法使其正常工作:

{$WRITEABLECONST ON}

所有这些产生" E2026预期的常量表达"。有什么想法吗?

FWIW:在{$WRITEABLECONST OFF} / {{1}}中包含声明并不会更改错误。

1 个答案:

答案 0 :(得分:2)

不可能让编译器生成包含成员偏移量的常量表达式。