题
关于创建用于使用“添加属性”的全局数组来创建全局数组的提示?下图是我的尝试。
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等)添加,删除和修改数组中的任何项目。
不隶属于 StackOverflow