Команда UBound

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Команда UBound

Сообщение E'rsh » 07.05.2008 (Ср) 11:37

Доброго времени суток!

Имеем вот такую переменную:
Код: Выделить всё
Public Type My_BytePointer
    Start As Single
    End As Single
End Type

Public Type My_LoadList
    URL As String
    NameFile As String
    BytePointer() As My_BytePointer
End Type

Dim pPerem() as My_LoadList


Внимание вопрос.
Как бы сделать изящнее определение длины массива "BytePointer", точнее не длины, а когда её (длины) нет. Ubound кричит об ошибке, а как определить что массив не имеет длины(если конечно это так называется) незнаю.
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.05.2008 (Ср) 12:24

Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Сообщение djalex777 » 07.05.2008 (Ср) 17:02

Код: Выделить всё
Private Declare Function GetMem4 Lib "msvbvm60" (ByVal pSrc As Long, ByVal pDst As Long) As Long
Private Declare Function ArrPtr Lib "msvbvm60" Alias "VarPtr" (arr() As Any) As Long
Function ArrayExists(ByVal APtr As Long) As Boolean
  Dim IsEx As Boolean
  GetMem4 APtr, VarPtr(IsEx)
  ArrayExists = IsEx <> 0
End Function


А пользоваться вот так:
Код: Выделить всё
  ...
  dim arr() As long
  ...
  msgbox ArrayExists(ArrPtr(arr))



Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 109

    TopList