【发布时间】:2017-06-08 14:02:39
【问题描述】:
我需要将数组类型声明标记为已弃用(嗯,实际上不止一个),以帮助将我们的代码迁移到更高级和更灵活的TArray<T> 泛型类型。
我试过这个:
type
TArrayChars = array of Char deprecated;
但我得到一个编译错误:E2029 ';' expected but identifier 'deprecated' found
如果声明的类型不是数组,则同样适用,例如:
type
TFieldChars = set of Char deprecated;
请注意,这在设计上应该是可行的。
我错过了什么?
这似乎是 Delphi 中的一个错误(至少 10.1 柏林和 10.2 东京)。
我接受的答案提出了一个简洁的解决方法,即:
type
TArrayCharsOld = array of Char;
TArrayChars = TArrayCharsOld deprecated;
我会向 Embarcadero 提交错误报告。
这是我提交的 Embarcadero QC 问题: https://quality.embarcadero.com/browse/RSP-18316
【问题讨论】:
-
你应该提交错误报告。
-
@William 不,这不是那个问题的重复,这里我说的是声明一个 TYPE 已弃用,这应该可以阅读文档。属性是另一回事,文档中没有提到。
-
@Bozzy 但链接问题的答案可用于您的问题。
-
@William 怎么样?那里链接的文档指出问题中的代码应该编译。
-
@DavidHeffernan 这可能是一个 delphi 错误。
标签: arrays delphi deprecated