powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ubound
8 сообщений из 8, страница 1 из 1
Ubound
    #33986380
ech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста почему ругается Ubound на неопределенном массиве, как проверить массив на то что он неопределенный? Как обнуляются массивы?
...
Рейтинг: 0 / 0
Ubound
    #33986528
ech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Ubound
    #33986536
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    ' так можно проверить
    Dim myArr()
    On Error Resume Next
    m = myArr( 0 )
    If Err Then MsgBox "Неопределён"
    On Error GoTo  0 
    ' а так обнулить
    ReDim myArr( 0 )
...
Рейтинг: 0 / 0
Ubound
    #33986555
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак обнуляются массивы?Erase
...
Рейтинг: 0 / 0
Ubound
    #33986561
miki1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
могу предложить такое решение

'Декларация
Private Declare Function ArrPtr Lib "msvbvm60.dll" Alias "VarPtr" (ptr() As Any) As Long
Private Declare Sub RtlMoveMemory Lib "kernel32" (dst As Any, src As Any, ByVal nBytes&)



'функция проверки
Private Function IsEmptyArray(ByVal ptr As Long) As Boolean
Dim myPtr As Long
RtlMoveMemory myPtr, ByVal ptr, 4
IsEmptyArray = IIf(myPtr = False, True, False)
End Function


'Использование функции
' -1 пусто
'arrTest -массив

Private Function GetUbound() as Long
Dim i As Integer
If Not IsEmptyArray(ArrPtr(arrTest)) Then
i = UBound(arrTest)
Else
i = -1
End If

GetUbound=i
End Function



Erase ArrName - обнуление массива
...
Рейтинг: 0 / 0
Ubound
    #33987019
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miki1могу предложить такое решение

Не рекомендовал бы использовать такое решение. Зачем лишний раз издеваться над памятью?
...
Рейтинг: 0 / 0
Ubound
    #33987397
ech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо
...
Рейтинг: 0 / 0
Ubound
    #33987782
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй посмотреть isarray или isnothing может поможет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ubound
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]