All Forums
 Категория Visio
 Форум Вопросы и ответы
 Массив не видно в UserForm
Author Previous Topic Topic Next Topic  

maniac

Russia
25 Posts

Posted - 02/20/2009 :  09:21:29
Привет!
И снова загвоздка:
Передаю переменные из модуля в форму. Public - без проблем. Dim - не видим и ругаемся. Может дело в специальных настройках Visio или ещё что...? Подскажите куда двигаться, где копать....
Спасибо, Ваш Maniac.

Tumanov

Russia
1198 Posts

Posted - 02/20/2009 :  11:06:56
А разве так не везде?
В справке на VB6, например, так и написано - Dim видно только в пределах модуля.
quote:
Variables declared with Dim at the module level are available to all procedures within the module.

А чем Вам не нравится Public?
Go to Top of Page

maniac

Russia
25 Posts

Posted - 02/20/2009 :  15:34:15
Sorry, может я не знаком с синтаксисом Public.
Как мне описать в Public двумерный массив 100 на 100
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/20/2009 :  15:49:12
Public [WithEvents] varname[([subscripts])] и т.д.
где subscripts [lower To] upper [,[lower To] upper] . . .

Значит, например,
Public MyArray(1 To 100, 1 To 100)
или
Public MyArray(99,99)
Go to Top of Page

maniac

Russia
25 Posts

Posted - 02/20/2009 :  16:13:46
Модуль:
Public MyArray(99, 99) As String
Sub f()
MyArray(1) = "jhgjhkjgk"
UserForm1.Show
End Sub

Форма:
Private Sub UserForm_Activate()
MsgBox MyArray(1)
End Sub

Почему ругается:
Constance,fixed-leght,arrays,.. and Declare ststements not allowed as Public members of object modules
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/20/2009 :  16:36:53
Да вроде не должен ругаться...
А написано точно как есть?
Так он должен ругаться, если Public MyArray(99, 99) As String объявить не в модуле, а в ThisDocument. Там не разрешено. Можно только Private. А Public - в модулях.
Go to Top of Page

maniac

Russia
25 Posts

Posted - 02/24/2009 :  07:39:12
Согласен! Я сам дурак! Работал не в модуле, а в ThisDocument!
Спасибо! Пошёл разбираться.
Go to Top of Page

maniac

Russia
25 Posts

Posted - 02/24/2009 :  07:50:10
Спасибо, Сэнсэй! Всё работает!
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)