Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
E'rsh
-
- Продвинутый пользователь

-

-
- Сообщения: 111
- Зарегистрирован: 12.06.2005 (Вс) 13:52
- Откуда: Калининград
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

-
-
- Сообщения: 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, SemrushBot, Yandex-бот и гости: 6