有關使用'add property'創建全局數組以用於realBASIC項目的任何提示?下圖是我的嘗試。真實基本全局數組
http://i17.photobucket.com/albums/b52/orubap/basic.jpg(編輯:死鏈接)
使用camModel(1)編譯和運行,但它不返回任何東西。使用camModel(4)會引發越界錯誤,所以我猜測我已經到了一半。
對此提出建議?
有關使用'add property'創建全局數組以用於realBASIC項目的任何提示?下圖是我的嘗試。真實基本全局數組
http://i17.photobucket.com/albums/b52/orubap/basic.jpg(編輯:死鏈接)
使用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
,然後用Array函數填充:
camModel = Array("Nikon", "Sony", "Philips")
這樣,您可以稍後添加更多模型,而不必每次都與數組邊界對齊。
如果要使用「添加屬性」功能訪問全局變量,只需創建一個新的模塊。然後,您可以將屬性添加到可從任何地方訪問的模塊。
爲了讓您的名稱空間更清潔,您可能需要限制對該屬性的訪問。 Global將允許您僅使用YourVariableName
訪問該酒店,但您也可以將權限更改爲受保護的(黃色三角形標誌),因此您必須鍵入YourModuleName.YourVariableName
才能訪問該變量。它使事情變得更清潔一些。
因此,您可以通過創建模塊輕鬆創建全局數組,然後單擊添加屬性並聲明YourArrayName(-1)
爲Integer
爲例。您可以使用標準數組函數(ubound,append,remove等)添加,刪除和修改數組中的任何項目。