Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 4

Вопрос и Ответ 4

Вопрос и Ответ 4

Вопросы и Ответы


      4. Как определить при разработке компонента в какой стадии он находится, в стадии проектирования или в стадии выполнения?

      Все компоненты являются наследниками класса TComponent и обладают свойством ComponentState. Данное свойство содержит набор значений, указывающих на текущее состояние компонента.

      Флаг Состояние компонента
      csDesigning Компонент находится в стадии проектирования.
      csDestroying Компонент сейчас будет разрушен.
      csLoading Компонент загружается из файла формы.
      csReading Компонент считывает значения своих свойств из потока.
      csWriting Компонент записывает значения своих свойств в поток.

      Пример:

      ............

      if cdDesigning in ComponentState then begin

        ............

      end
      else begin

        ............
        end

      ............

      Необходимость узнать, в какой стадии находится компонент, возникает при большом объеме отображаемых данных или при их сложности, что делает проектирование более удобным. Некоторые компоненты должны срабатывать только на стадии выполнения, иначе последствия могут быть самыми неожиданными, например при работе компонент с портами COM и LPT.

      Так же, в последнее время, появились двигающиеся по форме компоненты. Всякие летающие рисунки и надписи. И те компоненты которые не проверяют ComponentState бывает довольно сложно поймать и (удалить) отредактировать, да и под ногами они путаются...


...предыдущая страница следующая...
оглавление

[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
"Вопрос и Ответ 4"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.046