关于创建用于使用“添加属性”的全局数组来创建全局数组的提示?下图是我的尝试。

http://i17.photobucket.com/albums/b52/orubap/basic.jpg (编辑: :DEAD LINK)

使用Cammodel(1)编译并运行,但不会返回任何内容。使用cammodel(4)会出现一个界限错误,所以我猜想我已经到了一半。

建议?

有帮助吗?

解决方案

即使代码编译,这也不是初始化数组的有效方法。至少这样做在手册中的任何地方都没有提及。我要说的是,编译器在该编译器上静静地失败了,而不是将其标记为错误。您必须通过init方法(例如app.open)放置值。另外,不要忘记,即使在初始化期间,数组索引也是基于0的。因此,通过您给出的代码来声明三个值的数组属性:

camModel(2) as String

然后在App.open事件中:

camModel(0) = "Nikon"
camModel(1) = "Sony"
camModel(2) = "Philips"

但是,如果是我这样做,我会这样宣布该财产:

camModel(-1) as String

然后用数组函数填充:

camModel = Array("Nikon", "Sony", "Philips")

这样一来,您可以稍后添加更多模型,而不必每次都符合数组的界限。

其他提示

如果要使用“添加属性”函数访问全局变量,只需创建一个新模块。然后,您可以将属性添加到可以从任何地方访问的模块中。

为了保持名称空间更清洁,您可能需要限制对属性的访问。全局将允许您通过使用 YourVariableName, ,但是您还可以更改受保护的权限(黄色三角形符号),因此您必须键入 YourModuleName.YourVariableName 访问变量。它可以使事情变得更干净。

因此,您可以通过创建模块来轻松创建一个全局数组,然后单击添加属性并声明 YourArrayName(-1) 作为 Integer 例如。您可以使用标准数组函数(UBOUND,APPEND,REMOVE等)添加,删除和修改数组中的任何项目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top