![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование компонентов!!! [D4, D5]
Serghei © (2002-02-15 09:01:00)Привет! Не подскажет ли кто нибудь как я могу, во время выполнения программы, скопировать несколько компонентов с основной формы на некую другую - диалоговую, сохраняя при этом все их свойства (есть и визуальные и невизуальные компоненты)!
Заранее благодарен!
Serghei (2002-02-15 09:38:00) [1]>> cppapi
Согласен, до зрелого программиста мне ой как далеко! Я могу в принципе и обойтись без этого копирования но все же интересно знать как ето сделать! :0)
>> all
Спасибо всем!
cppapi (2002-02-15 09:30:00) [2]Можно поступить несколькими способами.
1. Применением процедуры Assign (но не все компоненты его переопределяют)
2. Создать второй экземпляр формы и изменить AOwner и Parent у требуемых компонентов на значение той форму куда ты собрался копировать.
3. Залезть в RTTI и оттуда получить информацию о значениях свойств компонентов, и потом их создать.
4. Изучить как расположена информация о компоненте в памяти и копировать в памяти.
5. можно ещё придумать. НОООООООО! Поверь мне, в твоём случае, это тебе НЕ НУЖНО. Все эти извращения последствия болезни роста. Вот когда ты придумаешь как без этого обойтись вот тогда ты будешь зрелым программистом.
Юрий Зотов (M) (2002-02-15 09:23:00) [3]См. TStream.Read/WriteComponent(Res).
Это позволяет клонировать любой компонент вместе с его любыми published-свойствами.
Serghei (2002-02-15 09:23:00) [4]Это все компоненты для работы с БД. TDataSet(1 comp.), TTable(1 comp.), TDBEdit(2 comp.) TDBMemo (1 comp.) i TDBGrid
Digitman (M) (2002-02-15 09:18:00) [5]назови классы конкретных компонентов