Как определить что свойство доступно только для чтения?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Worobjoff
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 19.02.2005 (Сб) 17:51

Как определить что свойство доступно только для чтения?

Сообщение Worobjoff » 16.08.2005 (Вт) 17:24

При проходе по свойствам объекта (CallByName) в цикле надо учитывать то, что некоторые могут быть ReadOnly.
Как определить что свойство доступно только для чтения?

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.08.2005 (Вт) 17:35

Можно пытаться в него что-нить записать и обрабатывать ошибку.
То, что для одних константа, для других только переменная...

Worobjoff
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 19.02.2005 (Сб) 17:51

Сообщение Worobjoff » 16.08.2005 (Вт) 17:48

А без пробной записи и обработки ошибки можно?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 16.08.2005 (Вт) 18:50

Если хочется головной боли, то ищи по слову ITypeInfo. Иначе никак.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.08.2005 (Ср) 3:01

Не, мне интересно.
Как ты собираешься записывать что-то в свойство, не зная, что это за свойство?
А если знаешь, что за свойство, то знаешь, для чтения оно или нет.


Или ты там пишешь слепой втыкатель, который присваивает указанную величину указанному свойству не считаясь со смыслом данной операции?..
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Worobjoff
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 19.02.2005 (Сб) 17:51

Сообщение Worobjoff » 17.08.2005 (Ср) 6:24

Что-то в свойство записываю не я, а класс - функциональный аналог BindingCollection. Некоторые классы содержат вычисляемые поля, которые Readonly конечно. Весь смак в том, что этому биндингу по барабану сколько и какого типа полей в классе.

Думаю должен быть способ "по взрослому" отличить ReadOnly-поля.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.08.2005 (Ср) 7:03

Ещё никогда у меня не возникало такой необходимости.
И, как ни силюсь, не могу понять, где она могла бы возникнуть.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Worobjoff
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 19.02.2005 (Сб) 17:51

Сообщение Worobjoff » 22.08.2005 (Пн) 9:43

GSerg писал(а):Ещё никогда у меня не возникало такой необходимости.
И, как ни силюсь, не могу понять, где она могла бы возникнуть.

Чтобы сократить количество необходимых исправлений в программе, при например, добавлении поля в таблицу/запрос/ХП.
В идеале должно требоваться только одно изменение: добавление поля в объект базы данных.

Понимаю, конечно, что продолжая программировать на VB6 смешно к такому идеалу стремиться...

А проблема решена. Не красиво, но работает: во всех read-only полях стоит свойство Let-заглушка.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 22.08.2005 (Пн) 10:00

Ну, тебе ж ADNLL ответил.
Смотри TypeLibInfo
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 135

    TopList