Вниз
Скачать: CL | DM;

Как правильно вызвать RegisterPropertyEditor ?   Найти похожие ветки 

← →
Juice ©   (2005-08-04 13:50) [0]

Вот такой код:

TSrcTableItem = class (TCollectionItem)
 private
   FSrcTable : TComponent;
 published
   property SourceTable: TComponent read FSrcTable write FSrcTable;
 end;

 TAutoPump = class(TComponent)
 private
   FSrcTablesOrder : TOwnedCollection;
 ...
 published
   property SrcTablesOrder : TOwnedCollection read FSrcTablesOrder write FSrcTablesOrder;
 end;

 ...

constructor TAutoPump.Create(AOwner : TComponent);
begin
 inherited Create(AOwner);
 FSrcTablesOrder := TOwnedCollection.Create(Self, TSrcTableItem);
...


Все типа как ОК, коллекция добавлена в комопонент, однако я хочу чтобы в нее могли в Design-time попасть не все компоненты ,а только определенного класса. Для этоо написал property editor :

TSrcTablesProperty = class(TComponentProperty)
 public
   procedure Edit; override;
 end;

Не получается его зарегистрировать, точнее регистрация проходит без ошибок но мой editor не выполняется.
Сначала сделал так:
RegisterPropertyEditor(TypeInfo(TComponent), TAutoPump, "SrcTablesOrder",
                        TSrcTablesProperty);
Потом попробовал так:
RegisterPropertyEditor(TypeInfo(TComponent), TAutoPump, "",
                        TSrcTablesProperty);
И только когда зарегистрировал так все заработало:
RegisterPropertyEditor(TypeInfo(TComponent), nil, "",
                        TSrcTablesProperty);
Но конечно такое счастье никому не надо. Что указывать во втором и третьем параметре ?


← →
juice ©   (2005-08-04 15:34) [1]

Ответ найден, спасибо Юрию Зотову :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.05 c
14-1135765580
Gero
2005-12-28 13:26
2006.01.22
Debugger detected


2-1136721836
flaxe
2006-01-08 15:03
2006.01.22
Сокеты


14-1135178809
Kerk
2005-12-21 18:26
2006.01.22
Западное образование


8-1123675290
Voron
2005-08-10 16:01
2006.01.22
Как сделать снимок экрана


5-1123149054
Juice
2005-08-04 13:50
2006.01.22
Как правильно вызвать RegisterPropertyEditor ?




   Наверх