Форум: "Основная";
Поиск по всему сайту: 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
1-9151            Tsatur Soft           2002-02-16 23:35  2002.03.04  
Срочно!


6-9246            Snake2000             2001-12-13 15:15  2002.03.04  
ТВебБраузер


3-9063            NickBat               2002-02-06 17:42  2002.03.04  
Inerbase


1-9168            Zool                  2002-02-12 17:32  2002.03.04  
Просвитите чайника!


7-9300            REL                   2001-11-22 18:44  2002.03.04  
Передача данных по модему (AT команды)