Форум: "Компоненты";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизКак правильно вызвать 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 вся ветка
Форум: "Компоненты";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c