Страница: 1 |
Как Variant!!! Вот тебе пример в ActuveX: Public Sub PrnArray(ar As Variant) В форме где он есть Private Sub Command1_Click() Sorry, за имена... торопился... UC11 - имя AxtiveX Control В этом примере доступна копия, а не сам массив. Strannik совершенно прав! Variant не может чисто физически вместить в себя массив!!! Он хранит указатель на массив! А еще по умолчанию все параметры в VB передаются по ссылке!!! Я что то не правильно сказал? Господа, может быть я чего брякну не то (только проснулся), но кажется чтобы передать переменную не по ссылке, а по значению нужно написать так: Public Sub PrnArray(By Val ar As Variant) Если массив будешь изменять, то нужно написать так: Public Sub PrnArray(ar As Variant) Если не будешь изменять, то лучше так (быстрее): Public Sub PrnArray(By Val ar As Variant) Страница: 1 |
Вопрос: Передать ссылку на массив
Добавлено: 21.06.02 10:17
Автор вопроса: sv69
Подскажите пожалуйста, можно ли передать ссылку на массив
(находящийся в программе) в разрабатываемый мною
ActiveX Control, чтобы этот (именно этот) массив был доступен в любых процедурах внутри Control?
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
SAVok
ICQ: 155153916
Вопросов: 2
Ответов: 126
Профиль | | #1
Добавлено: 21.06.02 14:08
Dim i As Integer, ub As Integer, arr() As Byte
If Not IsEmpty(ar) Then
arr = ar
ub = UBound(arr) - 1
For i = 0 To ub
MsgBox Val(arr(i))
Next i
End If
End Sub
Dim a(2) As Byte, b As Variant
a(0) = 1
a(1) = 2
b = a
UC11.PrnArray (b)
End Sub
Номер ответа: 2
Автор ответа:
sv69
Вопросов: 3
Ответов: 3
Профиль | | #2
Добавлено: 21.06.02 15:01
Номер ответа: 3
Автор ответа:
Strannik
Вопросов: 9
Ответов: 112
Профиль | | #3
Добавлено: 21.06.02 16:50
Почему копия ? Судя по коду переменная передается по ссылке.
Номер ответа: 4
Автор ответа:
SAVok
ICQ: 155153916
Вопросов: 2
Ответов: 126
Профиль | | #4
Добавлено: 21.06.02 17:02
Номер ответа: 5
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #5
Добавлено: 22.06.02 09:48
Номер ответа: 6
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #6
Добавлено: 22.06.02 20:50