|
1
4
尝试
|
|
|
2
6
|
|
3
2
代码无法编译,因为枚举(TMyOption)的值小于8,而Delphi使用集合的最小可能大小(字节)。因此,字节变量将为您工作。
对于大于16但小于32的DWord变量和类型转换。
|
|
|
4
0
500-内部服务器错误的答案可能是最简单的。 另一种不太可能因选项数量的变化而中断的方法是声明一个布尔数组,并打开/关闭它们。但这比使用纯整数要慢。主要优点是,不需要更改使用的整数类型,如果有超过32个选项,则可以使用它。
|
|
|
5
0
Tondrej
曾经写过
blog article
你的代码会变成:
|
|
|
6
0
问题是您试图强制转换为set类型而不是枚举类型。您可以在整数和枚举之间进行强制转换,因为这两种类型都是序数类型,但您不能强制转换到集合,因为它们使用您已经注意到的位字段。如果您使用:
它会起作用的,虽然不是你想要的。
编辑 |
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 2 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 2 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 2 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |