DWScript:在运行时向dwsUnit添加新的数组定义

3
使用Delphi XE2,如何在运行时调用添加数组定义到dwsUnit组件的方法?
MyDwsUnit.Arrays.Add返回一个TCollectionItem,而不是TdwsArray,而在设计时添加数组定义将添加一个TdwsArray实例。请注意保留HTML标记。
1个回答

3

默认的TCollection.Add方法返回一个TCollectionItem,尽管它实际上是集合所管理项目的实例(这不是DWScript特有的,而是Delphi VCL的通用问题)。

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

如果您不想更新,可以直接使用

(MyDwsUnit.Arrays.Add as TdwsArray)

改为使用。


谢谢Eric。你是对的,我使用的是V2.2版(抱歉我忘了提到这个)。一旦V2.3稳定,我会进行更新。我用的是:var ArrayVar:TdwsArray; begin ArrayVar := TdwsArray.Create(FMainUnit.Arrays);它有效果。再次感谢。 - Bahaa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接