![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| lamravas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Вот у меня нескольлько компонентов у них есть общее свойство которое я хочу менять в процессе работы приложения.
вот пример
проблем бы не было только вот компонентов стало неприлично много , хочу узнать если более изящный способ.???? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
lamravas, занести компоненты в массив и менять в цикле.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| lamravas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Если у компонентов есть общий предок, то дело упрощается. Добавлено через 5 минут и 39 секунд Кстати можно еще использовать модуль TypInfo и устанавливать свойство при помощи SetPropValue не возясь с типами, менять просто по строковому имени. Это будет еще изящней, но намного медленнее. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| lamravas |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
блин проблемка еще в том что это форма создаёться
Дельфи постоянно выкидывает ошибку, на первой же строке присвоения нового свойства
что делать как присвоить новое свойство компоненту на другой форме???? |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Это не желательно, так как приводит к увеличении связанности модулей. Есть обработчик формы OnCreate, который вызывается при создании формы, в нем уже можно присваивать значения свойств. Вопрос слишком туманно поставлен. Трудно понять в чем проблема. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| lamravas |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Ну вот у меня к примеру форма1 на ней кнопа при нажатиии выполняеться вызов формы2, формы-ввода, след. образом
на этой форме2 ввода (которая создаёться ) присутствуют компоненты связанные с таблицией находящейся на форме1. На форме 1 присутствует pagecontrol-компонет при изменении которого у компонентов на форме 2 следует изменять свойства компонентов(благо оно одно) это ДАТАСОУРС. Проблема еще в том что датасоурсы находятся на форме1 это на онкрейт формы2(ввода)
итак имеем Форма1 (pagecontrol, cxgrid, button, Датасоурсы) Форма2 (компоненты связанные с таблице на форме1) |
||||||
|
|||||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Гм.. я не силен в СУБД, но мне кажеться что тут что-то со структурой не в порядке. Можно в конечную форму кинуть TSQL или как там его и использовать как источник данных. В общем так чтобы связывался только 1 компонент, а все остальные связывались через него.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| lamravas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Да нет неважно субд это или еще чтото
Просто ответьте такое возможно или нет При вызове формы поменять значение свойства1 (к примеру) компонентов находящихся на вызванной форме, на значение находящиеся на первоначальной форме с которого осуществляеться вызов??? Вот и всё |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
lamravas, это неверно с точки зрения проектирование системы. Жесткая связь неотказоустойчиая и негибкая. Лучше отослать сообщение или передать объект, который на месте все настроит сам.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| lamravas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Alexeis, Т.е. если я правильно понял то мне надо свойство, передаваемое компонентам на форме2, послать сначала с формы1 на форму2,
А уже в дальнейшем изменять свойства компонентов на полученные? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Примерно, так. Только лучше это сделать не по свойствам, а ввиде одной или 2х логически оформленных программных единиц, ввиде передачи объекта или интерфейса. Почитайте книжку по патернам, это здорово облегчит проектирование. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
по-моему, ты страдаешь херней. обращаешься к свойствам компонентов, лежаших на несуществующей (удаленной тобой же free) форме. попробуй так:
Добавлено через 2 минуты и 6 секунд смысла, конечно, в этом коде больше не стало. но он рабочий. и это уже пол-дела. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |