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

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

DefineProperties


Cloude ©   (2005-05-22 06:57:00) 

Создаю к примеру компонент TMyComponent со своим методом DefineProperties:

type
 TMyComponent = class(TComponent)
 private
   FCollection: TCollection;
   procedure ReadCollection(Reader: TReader);
   procedure WriteCollection(Writer: TWriter);
 protected
   procedure DefineProperties(Filer: TFiler); override;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 end;

implementation

constructor TMyComponent.Create(AOwner: TComponent);
begin
 inherited;
 FCollection := TCollection.Create(TCollectionItem);
end;

procedure TMyComponent.DefineProperties(Filer: TFiler);
begin
 inherited;
 Filer.DefineProperty('Collection', ReadCollection, WriteCollection, True);
end;

destructor TMyComponent.Destroy;
begin
 FCollection.Free;
 inherited;
end;

procedure TMyComponent.ReadCollection(Reader: TReader);
begin
 Reader.ReadCollection(FCollection);
end;

procedure TMyComponent.WriteCollection(Writer: TWriter);
begin
 Writer.WriteCollection(FCollection);
end;

Почему когда открываешь проект или запускаешь его возникает ошибка: "Error creating form: Error reading MyComponent1.Collection: Invalid property value."?


Cloude   (2005-05-22 14:32:00) [1]

Огромное Спасибо Ученик!


Ученик   (2005-05-22 11:11:00) [2]

>Cloude   (22.05.05 06:57)  


 Reader.ReadValue;
 Reader.ReadCollection(FCollection);


Наверх

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