Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 15:03   #1
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
Сообщение Создание объектов по образцу

Здравствуйте. Появился такой вопрос. Допустим, у меня на форме есть компонент 'TPanel' с некоторыми иными компонентами на нем (кнопки, Edit'ы и т.д.). Этот объект является образцом для создания нескольких таких же компонентов. При создании необходимо полностью скопировать ту панель: свойства, события и все объекты на ней должны быть перенесены на только что созданную. Как это можно сделать?

aPanel := Panel1; - не работает.
aPanel.Assign(Panel1); - выдает ошибку 'Cannot assign a TPanel to a TPanel'.

Не копировать же значения всех необходимых свойств по отдельности...
ZotaC вне форума Ответить с цитированием
Старый 29.11.2011, 15:08   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Используя TFrame это все гораздо удобней. С вашим подходом все свойства и будете по отдельности копировать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.11.2011, 15:33   #3
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Аватар, с TFrame я мало работал, но сейчас попробовал: та же проблема: используя описанные выше методы, ничего сделать не получается. Возможно, вы имели в виду какие-то другие методы?

P.S. Разобрался в проблеме. Создавал переменную 'aFrame: TFrame', а надо было присвоить ей класс 'TFrame2' - тот, что был создан на форме. Плюс ко всему, в 'onCreate' нужно было указать 'NIL' вместо 'Form1', как я делал до этого. Все-таки, никак не пойму, что это за 'AOwner' такой...

Последний раз редактировалось ZotaC; 29.11.2011 в 19:41.
ZotaC вне форума Ответить с цитированием
Старый 29.11.2011, 19:57   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Часто для того чтобы разобратся хватает просто перевода
Перевод owner: владелец

Последний раз редактировалось vovk; 29.11.2011 в 20:03.
vovk вне форума Ответить с цитированием
Старый 29.11.2011, 20:02   #5
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

vovk, вы не поверите: моих скудных знаний английского языка (работы с триггерами в Warcraft'е, по большей части ) хватает для того, чтобы осознать, что 'owner' = 'владелец'. Но это не открыло мне, на что именно влияет данная переменная.

P.S. Неужели же я, как человек, задающий свои вопросы на форумах лишь в крайнем случае, мог бы не узнать перевода этого слова прежде, чем сообщать о своем незнании здесь?

Последний раз редактировалось ZotaC; 29.11.2011 в 20:05.
ZotaC вне форума Ответить с цитированием
Старый 29.11.2011, 20:12   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Из хелпа
Цитата:
Свойство Owner определяет владельца данного компонента. Форма является владельцем всех расположенных на ней компонентов. В свою очередь Application является владельцем всех форм. Когда освобождается память, занимавшаяся владельцем, автоматически освобождается память всех компонентов, которыми он владел. Свойство только для чтения.
чтото тут много начал писать, затем стёр)) В хелпе вроде всё понятно))
vovk вне форума Ответить с цитированием
Старый 29.11.2011, 20:36   #7
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

vovk, все, спасибо, теперь понятно. Как я понял, он попадет в список компонентов, и к нему можно будет, также, обращаться через Components[i]. Спасибо.
ZotaC вне форума Ответить с цитированием
Старый 29.11.2011, 20:39   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Да не за что )) Помог то тут Аватар, а я только текст из хелпа скопировал.
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MapX создание объектов Google[Bot] Компоненты Delphi 7 27.01.2012 08:33
Создание и уничтожение объектов. Время жизни объектов C++/C# Anett// Помощь студентам 0 24.10.2011 23:26
Создание объектов voltageminh Общие вопросы C/C++ 7 11.05.2011 08:51
Отдельное создание объектов java_91 Общие вопросы Delphi 3 04.02.2011 16:02
создание объектов класса Serjuk Общие вопросы C/C++ 8 13.05.2010 18:54