Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как считываются свойства компонента в design-Time?


BKV ©   (2002-06-25 12:10:00) 

Такая ситуация:
Написан свой компонент.
Когда он первый раз создается(путем перетаскивания на форму из палитры VCL) вместе с ним создается другой обьект.
Далее, предположим, закрыли форму и модуль с этим компонентом.
Все происходит в design-Time.
И открыли снова. IDE DELHPI выполнила метод СREATE компонента и создала этот компонент заново, считав его свойства из файла формы.
Можно ли как-нибудь определить, что компонент уже был создан,
путем перетаскивания на форму, и в последующих случиях
при открытии проекта, просто считывается как уже находящийся на
форме? Как отловить этот случай?
Или как получить доступ во время открытия модуля с формой
в среде Delphi к свойству компонента, определенном в
Object Inspectore? Помогите!


Teacher   (2002-06-25 14:00:00) [1]

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


Игорь Шевченко   (2002-06-25 13:30:00) [2]

BKV (25.06.02 13:15)


> Метод Loaded вызывается только в run-time,


Вы в этом абсолютно уверены ?


BKV   (2002-06-25 13:15:00) [3]

Метод Loaded вызывается только в run-time,
и в в design-Time к свойствам не подобраться?


Игорь Шевченко   (2002-06-25 12:54:00) [4]

BKV (25.06.02 12:48)

> - необходимо, чтобы определенное действие происходило
> только один раз при записывании компонента в форму,
> т.е я кинул компонент на форму, он создался и выполнил
> некоторое действие.


Странного хотите. У компонента есть метод Loaded, который вызывается всегда, когда он загружается из ресурса. При первом созании этот метод, естественно, вызываться не будет.


BKV   (2002-06-25 12:48:00) [5]

Игорь, вы не поняли вопроса.
Да, созданный компонент разрушился, свойства записались.
Предположим, какому-то свойству было присвоенно какое-то
значение. При открытии этой формы, все компоненты
создались заново и сохраненные свойства им присвоились.
Два Вопроса:
- необходимо, чтобы определенное действие происходило
только один раз при записывании компонента в форму,
т.е я кинул компонент на форму, он создался и выполнил
некоторое действие. При последующих открытиях формы, когда
компонент уже принадлежит ей, это действие не должно происходить.
- как можно получить доступ к свойствам компонента, сохраненным в форме, при открытии формы в момент создания компонента?(в design-Time)


Игорь Шевченко   (2002-06-25 12:27:00) [6]

Похоже на бред.
Если закрыли форму, то созданный экземпляр компонента разрушился. Свойства записались на форму. Причем здесь создание перетаскиванием ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо