3

使用 Delphi XE2 在运行时调用将数组定义添加到dwsUnit组件的方法是什么?

MyDwsUnit.Arrays.Add返回 a TCollectionItem, not TdwsArray,而在设计时添加数组定义会添加一个TdwsArray实例!。

4

1 回答 1

3

默认的 TCollection.Add 方法返回一个 TCollectionItem,即使它实际上是集合管理的任何项目的实例(这不是特定于 DWScript,它是 Delphi VCL 的东西)。

为了简化这一点,DWScript 中的大多数子类集合现在重新引入了一个 Add 方法,该方法将使用强制转换包装默认集合,因此您不必手动进行强制转换。因此,您可能使用的是旧版本的 DWScript。

如果你不想更新,你可以使用

(MyDwsUnit.Arrays.Add as TdwsArray)

反而。

于 2012-10-03T06:41:27.243 回答