Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Вниз

Копирование компонентов!!! 


Serghei   (2002-02-15 09:01) [0]

Привет! Не подскажет ли кто нибудь как я могу, во время выполнения программы, скопировать несколько компонентов с основной формы на некую другую - диалоговую, сохраняя при этом все их свойства (есть и визуальные и невизуальные компоненты)!
Заранее благодарен!



Digitman (M)   (2002-02-15 09:18) [1]

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



Юрий Зотов (M)   (2002-02-15 09:23) [2]

См. TStream.Read/WriteComponent(Res).

Это позволяет клонировать любой компонент вместе с его любыми published-свойствами.



Serghei   (2002-02-15 09:23) [3]

Это все компоненты для работы с БД. TDataSet(1 comp.), TTable(1 comp.), TDBEdit(2 comp.) TDBMemo (1 comp.) i TDBGrid



cppapi   (2002-02-15 09:30) [4]

Можно поступить несколькими способами.
1. Применением процедуры Assign (но не все компоненты его переопределяют)
2. Создать второй экземпляр формы и изменить AOwner и Parent у требуемых компонентов на значение той форму куда ты собрался копировать.
3. Залезть в RTTI и оттуда получить информацию о значениях свойств компонентов, и потом их создать.
4. Изучить как расположена информация о компоненте в памяти и копировать в памяти.
5. можно ещё придумать. НОООООООО! Поверь мне, в твоём случае, это тебе НЕ НУЖНО. Все эти извращения последствия болезни роста. Вот когда ты придумаешь как без этого обойтись вот тогда ты будешь зрелым программистом.



Serghei   (2002-02-15 09:38) [5]

>> cppapi
Согласен, до зрелого программиста мне ой как далеко! Я могу в принципе и обойтись без этого копирования но все же интересно знать как ето сделать! :0)
>> all
Спасибо всем!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.018 c
14-9278           Сергей Чурсин         2001-08-07 19:14  2002.03.04  
---|Ветка была без названия|---


4-9340            Snake2000             2001-12-19 14:50  2002.03.04  
Поверх других :)


3-9097            vopros                2002-02-06 10:45  2002.03.04  
надо показать из базы сумму по некоторым полям...


3-9099            yaJohn                2002-02-05 19:03  2002.03.04  
WinXP Home edition. Spasite!!!


4-9332            Пастор                2002-01-04 17:07  2002.03.04  
Как узнать запущенно ли интересующее меня приложение ?