Страница: 1 |
Страница: 1 |
Вопрос: Можно ли передать UDType как опциональн. параметр
Добавлено: 24.08.06 16:10
Автор вопроса: Nj | ICQ: 223663115
№1. Можно ли передать UDType как опциональный параметр функции?
№2. Можно ли задать дефолтное значение для UDT, т.е. вроде d=textbox1 понимается как d=textbox1.text,
e=checkbox1 понимается как e=checkbox1.value;
хочу тоже для пользовательского типа.
№2. Можно ли создать константу пользовательского типа? Спасибо за ответы.
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 24.08.06 17:03
1. Можно, но только если он объявлен в Public классе (или tlb) и завернут в Variant переменную.
2. А можно задать дефолтное значение для массива, т.е. d = MyArray понимается как MyArray(98)? lol
3. Ну попробуй. Только не забудь отключить проверку синтаксиса - а то не дотянешь до облома при компиляции )
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 24.08.06 17:21
2. Вообще меня тоже интересовало - как VB опознает дефолтные свойства объектов? У него встроенная таблица, или у этих методов есть какой-то атрибут?
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 24.08.06 17:29
Гы... В idl поставь какому-нить пропедрю id(0) - вот те и дефолт У структур такой номер не прокатает
Номер ответа: 4
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #4
Добавлено: 24.08.06 22:09
Сэнкс, я оценил чувство юмора, но только можно чуть конкретнее:
Как завернуть тип в Variant?
Dim X as MyUDType
z= func(x)
...
function func(Arg)
...
end function
так?
КОнстанту нельзя, это жаль. А вот почему же Default он не понимает, ведь объектам то он присваивает? И в ран-моде, можно увидеть у объектов свойство _Default... А ладно, это я спрашиваю в стиле "А как записать пол-байта?"
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 25.08.06 13:08
Хитрый метод ))
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 25.08.06 17:08
Простым присвоением.
Дефолтовых мемберов имеют ИНТЕРФЕЙСЫ, не СТРУКТУРЫ. Разницу между ними понимаешь?
В каком смысле?
Номер ответа: 7
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #7
Добавлено: 27.08.06 21:34
Ага, только я же сказал: вопрос в стиле "как записать пол-байта: нельзя, но хочется!", да и смущает, что доступ к свойситвам интрефейса похож на доступ к свойствам структуры...
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 28.08.06 01:53
мона передавать не структуру явно а поинтер на нее, поинтер = 0, структуры нет
Номер ответа: 9
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #9
Добавлено: 28.08.06 12:59
Угум, только если структура сложная (со строками и вложениями) - опухнешь потом с CopyMemory. Можно, конечно, поюзать недокументированые функции msvbvm для работы с указателями, но бред это, ИМХО.
ЗЫ Такая темка месяца три тут назад появлялась. Правда там ламак один доказывал что передать структуру в метод класса вообще нельзя и переубеждать его было бесполезно. В общем, накатил он в итоге на форум и так и убрался ламом
Номер ответа: 10
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #10
Добавлено: 28.08.06 14:51
ну да, разумеется, если есть строки (динамические), такой способ не покатит.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 28.08.06 15:25
Кстати оно именно так и понимается
Номер ответа: 12
Автор ответа:
Nj
ICQ: 223663115
Вопросов: 21
Ответов: 285
Профиль | | #12
Добавлено: 28.08.06 16:07
Да с optionbutton я попутал его, нефиг разница, дело в другом. К тому же, я мог option назвать checkbox1 - и все дела )
Все, всем спасибо - проблему решил с variant буду передавать, и придеться пережить без дефолтных свойств и констант...