Главная » Delphi » Определение класса TCollectionItem:компонент TRunBtnItem

0

Вначале  необходимо определить элементы, которые будут содержаться в списке. Для  TddgLaunchPad это —  компоненты типа  TddgRunButton. Таким  образом, каж дый   экземпляр  компонента  TRunBtnItem должен    быть   связан    с   компонентом TddgRunButton. Ниже  приводится фрагмент определения класса TRunBtnItem:

type

TRunBtnItem = class(TCollectionItem)

private

FCommandLine: String;

//

Хранит командную строку

FLeft: Integer;

//

Хранит позиционные свойства

FTop: Integer;

//

для компонента TddgRunButton.

FRunButton: TddgRunButton; // Указатель на TddgRunButton

public

constructor Create(Collection: TCollection); override;

published

{ Публикуемые свойства для работы с потоками. }

property CommandLine: String read FCommandLine

write SetCommandLine;

property Left: Integer read FLeft write SetLeft;

property Top: Integer read FTop write SetTop;

end;

Обратите внимание, что компонент TRunBtnItem содержит указатель  на компонент TddgRunButton и помещает в раздел published только  те свойства, которые необходи мы для создания компонента TddgRunButton. Можно  было бы подумать,  что если ком понент TRunBtnItem связывается с компонентом TddgRunButton, то достаточно про сто опубликовать этот компонент и предоставить остальную  работу механизму  взаимодей ствия с потоками. Однако при этом возникают определенные проблемы, связанные с тем, что механизм взаимодействия с потоками по разному обрабатывает классы TComponent и TPersistent. Основное правило обработки здесь заключается в том,  что система  взаи модействия с потоками данных  отвечает за создание новых  экземпляров каждого  найден ного в потоке класса, произошедшего от класса TComponent; в то же время  предполагает ся, что экземпляры класса TPersistent уже существуют и в создании новых необходимо сти нет.  Следуя такому правилу, записываем в поток  информацию,  необходимую для компонента TddgRunButton, а затем создаем  экземпляр компонента TddgRunButton в конструкторе класса TRunBtnItem.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии