- Код: Выделить всё
'
.....
Private Element() as long
.....
Public Function Add(ByVal InsertValue As Long, Optional Index = -1) As Boolean
'массив пуст
If UBound(Element) = 0 Then
ReDim Element(1)
Element(0) = InsertValue
Add = True
Exit Function
End If
'добавление в конец
If Index < 0 Or Index >= UBound(Element) Then
HmemLow = LocalAlloc(LMEM_ZEROINIT, UBound(Element) * 4)
CopyMemory HmemLow, Element(0), UBound(Element) * 4
ReDim Element(UBound(Element) + 1)
CopyMemory Element(0), HmemLow, (UBound(Element) - 1) * 4
Element(UBound(Element) - 1) = InsertValue
LocalFree (HmemLow)
Add = True
Exit Function
End If
........
end function
Добавление в массив 3 элементов просходит безболезненно, на 4 выбивает вб. Подскажите что я делаю не так?