Страница: 1 |
Страница: 1 |
Вопрос: Ну VB дает!!! GET и LET
Добавлено: 31.05.06 12:02
Автор вопроса: Fever
Доброе время суток!
Дорогие форумляне, откуда VB ЭТО берет?
Definitions of property procedures for the same property are inconsistent, or property procedure has an optional parameter a ParamArray, or an invalid Set final parameter.
Public Property Get UpperBound(DimNum As Long) As Long
If DimNum >= mDimenCnt Or DimNum < 0 Then Err.Raise ERR_BADDIMENN, ModuleID, ERR_BADDIMEN
UpperBound = mDimens(DimNum).Max
End Property
Public Property Let UpperBound(ByVal DimNum As Long, ByVal Pres As Boolean, ByVal NewVal As Long)<<<<<
Dim Dims(31) As Size
Dim i As Integer
For i = 0 To mDimenCnt - 1
Dims(i) = mDimens(i)
Next
Dims(DimNum).Max = NewVal
Resize Pres, Dims
End Property
Матерится на Let.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #1
Добавлено: 31.05.06 12:02
UP! UP! UP!
Срочно надо!!!!!
Номер ответа: 2
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #2
Добавлено: 31.05.06 12:08
Может, стоит Let-у только один параметр передавать?
Номер ответа: 3
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #3
Добавлено: 31.05.06 12:15
Неа. Не стоит. Let'у передаются dimnum,pres,newval.
Присваивание работает как
Номер ответа: 4
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #4
Добавлено: 31.05.06 12:24
Я про то, что может, VB не понимает более 1-го параметра для Let.
Проверить пока не могу, VB не установлен.
Номер ответа: 5
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #5
Добавлено: 31.05.06 12:29
Ну ладно, спасибо, что хоть ответил.
ЭЭЙ! Форумляне! HACKER, SNE, MORPHEUS, AgentFire, Serg, LOL, Sharp, HOOLIGAN!
Номер ответа: 6
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #6
Добавлено: 31.05.06 12:48
Мдя©... Число параметров в Let и Get должно совпадать (с учетом того, что в Let один дополнительный параметр для передачи нового значения свойства). Посему, либо в Let надо один убрать, либо в Get один добавить. Третьего не дано.
Номер ответа: 7
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #7
Добавлено: 31.05.06 12:51
Давно я со свойствами не работал, но может, в процедуре Get нужно тоже три аргумента сделать?
Номер ответа: 8
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #8
Добавлено: 31.05.06 13:03
Неа.
If DimNum >= mDimenCnt Or DimNum < 0 Then Err.Raise ERR_BADDIMENN, ModuleID, ERR_BADDIMEN
UpperBound = mDimens(DimNum).Max
End Property
Public Property Let UpperBound(ByVal DimNum As Long, ByVal NewVal As Long) ', ByVal Pres As Boolean
Dim Dims(31) As Size
Dim i As Integer
For i = 0 To mDimenCnt - 1
 ims(i) = mDimens(i)
Next
 ims(DimNum).Max = NewVal
Resize Pres, Dims
End Property
Из той же серии.
Номер ответа: 9
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #9
Добавлено: 31.05.06 13:04
Перезагрузка VB результатов не дала.
Номер ответа: 10
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #10
Добавлено: 31.05.06 13:06
Во Ё!!! Если убрать BYVAL рядом с DimNumб то ОНО работает. Все-таки VB делали обдолбаные программисты.
Номер ответа: 11
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #11
Добавлено: 31.05.06 13:19
http://sggalaxy.narod.ru/DynArray.rar
Номер ответа: 12
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #12
Добавлено: 31.05.06 13:37
По-моему, всё наоборот: когда на VB пытаются писАть обдолбанные программисты, эффекты самые разнообразные...
Номер ответа: 13
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #13
Добавлено: 31.05.06 21:37
End Property
Public Property Let UpperBound(ByVal a_Val As Long, ByVal a_Val2 As Long)
End Property
см. пост № 6 ! или читай книги...