Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Доступ к событиям вложенного объекта через инспектор объектов.   Найти похожие ветки 

 
Grihan   (2004-03-22 11:51) [0]

Здравствуйте. При разработке компонента возникла необходимость часть свойств перенести в отдельный класс (например TProperties). Таким образом доступ к ним осуществляется через объект Properties. Все замечательно - за исключением одного нюанса - в инспекторе объектов не видны события. Вот пример кода:

type
 TTest = procedure (Sender: TObject) of object;

 TProperties = class(TPersistent)
 private
   FProp1: Integer;
   FProp2: TTest;
   procedure SetProp1(const Value: Integer);
 published
   property Prop1: Integer read FProp1 write SetProp1;
   property OnProp2: TTest read FProp2 write FProp2;
 end;

 TEditGR = class(TEdit)
 private
   FProperties: TProperties;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property Properties: TProperties read FProperties write FProperties;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Test", [TEditGR]);
end;

{ TProperties }

procedure TProperties.SetProp1(const Value: Integer);
begin
 FProp1 := Value;
 if Assigned(FProp2) then
   FProp2(Self);
end;

{ TEditGR }

constructor TEditGR.Create(AOwner: TComponent);
begin
 inherited;
 FProperties := TProperties.Create;
end;

destructor TEditGR.Destroy;
begin
 FProperties.Free;
 inherited;
end;

Подскажите пожалуйста - как разрешить данный недостаток?
Спасибо.


 
Юрий Зотов ©   (2004-03-22 12:14) [1]

Либо пишите свой редактор свойства для события, либо выносите это событие в родительский класс (через Get-Set). Второе проще.



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.063 c
1-1079901645
ser_ega
2004-03-21 23:40
2004.04.11
Вставка текста!!!


3-1078999239
Fuelfire
2004-03-11 13:00
2004.04.11
Проблемы с экспортом в Ворд из парадоксовской таблицы


3-1079506852
ГАГН
2004-03-17 10:00
2004.04.11
Memo в Fast Report е ?


9-1065042709
Balepa
2003-10-02 01:11
2004.04.11
Установка DelphiX (Delphi 7)


3-1079429812
-kiril
2004-03-16 12:36
2004.04.11
Новое поле в Interbase