Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.051 c
9-1063229471
Crazy_kill
2003-09-11 01:31
2004.04.11
Меню


1-1080215024
Кипяток
2004-03-25 14:43
2004.04.11
Вопрос по TThread


11-1067279634
Deimos
2003-10-27 21:33
2004.04.11
Профилировщик


6-1076327005
Роман
2004-02-09 14:43
2004.04.11
POP3 - прикреплённые файлы


11-1058953592
ironwit
2003-07-23 13:46
2004.04.11
вопрос по form.font.name





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский