Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.04;
Скачать: CL | DM;

Вниз

Копирование компонентов!!!   Найти похожие ветки 

 
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
Спасибо всем!



Страницы: 1 вся ветка

Текущий архив: 2002.03.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
3-9047
iXANiA
2002-02-05 18:44
2002.03.04
Как отфильтровать таблицу...


1-9107
Ross
2002-02-15 21:08
2002.03.04
Где найти Label с вертикальным направлением текста?


3-9098
Анонимщик
2002-02-05 19:23
2002.03.04
Grid index out of range


3-9082
Basil
2002-02-06 15:15
2002.03.04
Как создать Alias


1-9108
Igl
2002-02-15 21:50
2002.03.04
Как можно сделать эквалайзер?