Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проблема с объявлением массива Добавлено: 29.08.04 01:18  

Автор вопроса:  Карандаш | ICQ: 231663488 
Попытался объявить массив в начале программы:
Public mas(4)
но она мне выдала ошибку типа:"массивы не допускаются в качестве общик элементов модулей объектов". Пришлось писать доп условие в процедуре для обхода повторного объявления. Если есть др. варианты, то очень буду благодарен за любой совет.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 29.08.04 01:39
Public/Private tArray() as type

Ответить

Номер ответа: 2
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #2 Добавлено: 29.08.04 01:41
Вообще то чтобы использовать Public для массива, его надо объявлять в модуле. (не на форме). Т.е. делаешь новый модуль и в нём пишешь
Public mas(4)

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 29.08.04 01:43
 Кстати твоя форма - это и есть объектный модуль.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 29.08.04 02:14
А кстати, если ворма загружена, массив можно объявить и в коде формы... Вот только обращаться к енму будет нужно через имя формы, точка, имя массива :)

Ответить

Номер ответа: 5
Автор ответа:
 Карандаш



ICQ: 231663488 

Вопросов: 1
Ответов: 5
 Профиль | | #5 Добавлено: 29.08.04 11:04
Спасибо всем за участие. Ща испробую все предложенные варианты.

Ответить

Номер ответа: 6
Автор ответа:
 Карандаш



ICQ: 231663488 

Вопросов: 1
Ответов: 5
 Профиль | | #6 Добавлено: 29.08.04 11:30
Ответ на:Public/Private tArray() as type
С этим ваниантом что то не все гладко. Выдает ошибку компеляции:"ожидается New или имя типа".

Ответить

Номер ответа: 7
Автор ответа:
 Карандаш



ICQ: 231663488 

Вопросов: 1
Ответов: 5
 Профиль | | #7 Добавлено: 29.08.04 11:32
Ответ на:Вообще то чтобы использовать Public для массива, его надо объявлять в модуле. (не на форме). Т.е. делаешь новый модуль и в нём пишешь
Public mas(4)
А вот этот вариант просто супер. Все заработало. Подниму свои старые проги. Все поисправляю.

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 29.08.04 12:33
дык ты заместо type напиши тип массива! (String/Long/Integer/Single/Dubble/Currency/Variant/Byte)

Ответить

Номер ответа: 9
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #9 Добавлено: 29.08.04 13:39
Карандаш
Может не стоит все старые проги ковырять? Работают - значит ошибок нет, а то наворотишь сейчас :)

Да и ещё: если делаешь mas(4) без описания типа на конце строки, то по умолчанию создаётся массив типа Variant. Этот тип переменной конечно универсален и достаточно мощен, но с ним могут быть всякие неожиданные результаты в силу того, что этот тип может хранить любой тип данных. Как он будет интерпретироваться в том или ином случае - решать будет виртуальная машина VB. Если нет необходимости задействовать универсальность Variant'a, лучше объявить массив как конкретный тип, например: mas(4) As Long или mas(4) As String и т.д.

Ответить

Номер ответа: 10
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #10 Добавлено: 29.08.04 13:51
Слушай, че ты мучаешься, просто

Private Mas(4)
или
Dim Mas(4)

Создавать ради одного массива модуль - глупо! Просто в форме нельзя Public писать, напиши просто Private!

P.S. После Mas(4) можешь написать тип, например :

Private Mas(4) as String

или

Private Mas(4) as Integer

Ответить

Номер ответа: 11
Автор ответа:
 Карандаш



ICQ: 231663488 

Вопросов: 1
Ответов: 5
 Профиль | | #11 Добавлено: 29.08.04 13:57
cresta

Объявил его как Integer. Спасибо за замечание.

Ответить

Номер ответа: 12
Автор ответа:
 Карандаш



ICQ: 231663488 

Вопросов: 1
Ответов: 5
 Профиль | | #12 Добавлено: 29.08.04 14:02
Kodo
Все работает. Теперь сижу и думаю "а какого черта меня потянуло его через Public объявлять". Ведь действительно он мне нужен только в рамках этой формы. Но если объявлять глобальный массив, то все равно через модуль. Спасибо

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам