Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование компонентов!!! [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]

назови классы конкретных компонентов


Наверх

Титульная страница Поиск, карта сайта Написать письмо