Dim Имя(Граница) as Тип 'объявили
Dim Имя() as Тип 'объявили динамич. массив
ReDim Имя(Граница) 'задали границу динамическому массиву
Переменная=Имя(Индекс)
kibernetics писал(а):а ещё, может посоветуете, что всё-таки лучше: использовать динамический массив или коллекции?
Dim li as Long
Dim sStr As String
For li = 0 To colCIDs.Count
If sStr = vbNullString Then
sStr = colCIDs(li)
Else
sStr = sStr & "," & colCIDs(li)
End if
Next li
tyomitch писал(а):У GSerg-а код проще.
Option Explicit
Private Declare Function VarPtrArray Lib "msvbvm60" Alias "VarPtr" (Arr() As Any) As Long
Private Declare Sub GetMem4 Lib "msvbvm60" (ptr As Any, val As Long)
Sub Main()
Dim a()
If Peek(VarPtrArray(a)) Then Debug.Print "Массив непустой" ' не напечатается
ReDim a(1)
If Peek(VarPtrArray(a)) Then Debug.Print "Массив непустой" ' напечатается
End Sub
Private Function Peek(ByVal Address As Long) As Long
GetMem4 ByVal Address, Peek
End Function
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 107