Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 764

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Объясните мне разницу межу доюавлением не форму компоненты и его создания динамически?

eclipse Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 26 ноября 2010, 18:56
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 10; последнее сообщение — 1 декабря 2010, 12:34; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 27 ноября 2010, 08:25 [#1]:

Динамическое создание компонента надо писать руками.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 27 ноября 2010, 09:14 [#2]:

min@y™ , а разницы получается никакой нет?
min@y™

min@y™ (статус: Доктор наук), 27 ноября 2010, 10:59 [#3]:

Разницу я написал в предыдущем посте.
Плюс свойства компонента, созданного в дизайне, сохраняются в DFM-файле и включаются в ресурс приложения.

Откуда ваще такой вопрос?

З.Ы. Советую читать свои сообщения перед нажатием кнопки "отправить" и проводить работу над ошибками.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 27 ноября 2010, 11:06 [#4]:

А вопро я задал такой потому, что если создавать динамически, допустим Button, тогда, если их будет несколько, то все действия onClick присвоятся только последнее действите, т.е. создадутся например 3 кнопки... но при нажатии на любую из них будет выполняться одно и то же действие. В таком случае придётся писать функцию для создания динамических кнопок с разными названиями... так? тогда нахрена они вообще нужны, динамически? если их проще сделать вручную и накидать то, что надо.
Alexxx

Alexxx (статус: Посетитель), 27 ноября 2010, 18:35 [#5]:

У каждого компонента в конструкторе присутствует параметр владелец компонента
AOwner:TObject
например
TComponent.Create(AOwner: TObject)
.
Когда ты кидаешь в визуальном дизайнере кнопку на форму, у кнопки автоматически владельцем становится форма. При создании динамически ты сам обязан указать владельца например
var
  Button1: TButton;
begin
  Button1 := TButton.Create(Form1);
При уничтожении владельца, сначала уничтожаются все компоненты владельцем которых он является, а потом он сам. Т.е. например ответственность за уничтожение кнопки ложится на "плечи" его владельца - формы.
Например для невизуальных компонентов можно указать в качестве владельца nil, но тогда вся ответственность за его уничтожение ложиться на "плечи" программиста, т.е
var
  xlr: TXlReport;
begin
  xlr := TXlReport.Create(nil);
  //что-то делаем
  xlr.Free;
end;
min@y™

min@y™ (статус: Доктор наук), 27 ноября 2010, 20:56 [#6]:

Причём тут названия кнопок? Обработчик OnClick можно повесить один на все и различать их по свойству Tag.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 28 ноября 2010, 00:13 [#7]:

О! min@y™ ... вот примерно до этого я и хотел добраться... А что это за свойство? и как примерно его использовать?
Вадим К

Вадим К (статус: Академик), 28 ноября 2010, 00:46 [#8]:

если перевести дословно с английского, то это "ярлык". Это просто такое свойсво, где можно сохранять для себя целое число (можно и указатель, если нужно). Сама делфи никак не проверяет это свойство и никаких предположений не делает на его счет.
А потом использовать, менять.
Таким образом, можно создать сотню кнопок, каждой присвоить в свойстве tag порядковый номер и всем дать один метод "OnClick". И в этом методе можно будет различать кнопки по их TButton(Sender).Tag
Галочка "подтверждения прочтения" - вселенское зло.
Инегелд

Инегелд (статус: Посетитель), 30 ноября 2010, 11:02 [#9]:

Если вопрос еще актуален, могу скинуть исходник игры в пятнашки, где активно используется динамическое создание элементов и обратотка событий в зависимости от их координат.
eclipse

eclipse (статус: Посетитель), 1 декабря 2010, 12:34 [#10]:

Буду рад взглянуть

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:31
Выполнено за 0.02 сек.