![]() |
|
Модераторы: Akina |
![]()
|
|
| neiron |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 18.4.2006 Где: Краснодар Репутация: 3 Всего: 4 |
Такая ситуация.
Есть класс А, содержащий в себе класс Б. При этом класс Б имеет ссылку на объект класса А (родительский). При изменении свойств объекта А, объект Б их не видит. Родительский объект привязывается так:
Связывание происходит в начале. Затем какое-либо свойство родительского объекта меняется. При обращении objA.property выдаётся новое значение. При использовании objБ.ParentobjA.propertry выдаётся старое значение. Как я понимаю, создаётся новый объект класса А, который и является родительским? Но он вроде бы по ссылке передаётся. Как установить связь? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Все верно, поскольку в объекте Б имеется ссылка на объект А, создается копия объекта А, которая и становится свойством объекта Б. Оригинал меняется, копия не затрагивается.
Попробуйте в конструкторе объекта А присваивать ссылку на себя в скрытый мембер-объектную переменную, и передавать ее конструктору объекта Б... Хотя я бы пошел по другому пути - созданию класса-коллекции объектов класса А. Тогда подобъекту класса Б можно передавать имя объекта А в коллекции и обращаться к нему непосредственно через коллекцию. Правда, и тут есть некоторые минусы, особенно если потребуется доступ к не-паблик компонентам. Есть и еще варианты... какой именно лучше использовать - зависит от задачи. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| neiron |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 18.4.2006 Где: Краснодар Репутация: 3 Всего: 4 |
Не совсем понял по первому способу.
По типу
? и потом это свойство использовать в качестве передаваемого параметра? в чём тогда разница? Желательно создать такой механизм, который обеспечил бы разумное использование памяти (без создания дополнительных объектов, и при этом работал достаточно быстро. Вложенность классов получается большая. Думаю, коллекция подойдёт, в принципе, но хотелось бы узнать о рзличных методах. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |