![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как автоматизировать замену значений свойств в формах ?
Игорь Шевченко © (2006-01-19 14:54:00)Ситуация следующая: Имеется класс-предок формы, от которого наследуется множество других форм. У наследников есть ряд свойств, значения которых в некоторый момент времени надо заменить (раз и навсегда). Хотелось бы реализовать следующий вариант: создание класса-наследника с чтением dfm-файла его формы, обход свойств, поиск нужных и замена значений, сохранение dfm-файла. И так для всех форм-наследников. Также хотелось, для создания таблицы замен, вывести все прочитанные свойства определенного типа в общую таблицу.
При попытке решения задачи в лоб (TStream.ReadComponent), выявились следующие грабли - все формы имеют событие OnCreate, выполнение которого в данной ситуации является недопустимым (да и невозможным). Читать вручную текстовые файлы и разбирать их на свойства представляется крайне скучной задачей, делать которую можно только в том случае, если больше найдется никаких путей решения.
Отсюда вопрос: можно ли как-то стандартными средствами создать класс, заполнив его свойства из dfm (не вызывая никаких методов этого класса, в крайнем случае, не вызывая обработчиков событий) и второй вопрос - как записать только те свойства, которые были изначально в исходном dfm-файле.
Если вопрос не по теме конференции, извиняйте, перекину в Основную.
Игорь Шевченко (2006-01-19 15:05:00) [21]Забыл добавить: замена свойств должна производиться не столько в самих наследниках, сколько в компонентах, размещенных на этих наследниках. Причем, одноименные свойства должны заменяться не всегда, а в зависимости от компонента, которому они принадлежат (просто поиск по текстовым фалам не сработает).