Несмотря на то, что код компилируется, это неверный способ инициализации массива. По крайней мере, в руководствах это нигде не упоминается. Я бы сказал, что компилятор тихо отказывает на этом, а не отмечает его как ошибку. Вам нужно будет поместить значения с помощью метода 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")
Таким образом, вы можете добавить больше моделей позже, и вам не придется каждый раз обходить границы массива.