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

Вниз

Есть ли возможнось узнать есть ли у класса A public-свойство B?   Найти похожие ветки 

 
Эдуард   (2004-02-08 16:26) [0]

Господа мастера, собственно сабж...
Естественно сабж нужен в runtime. Более того,
известно в класс А имеет свойство B в секции protected, т.о.
наследник A может его иметь или не иметь.
Пример -
A : TWinControl; // TWinControl has protected OnEnter event
...
A := TCustomEdit.Create(...); // OnEnter also protected
A := TEdit.Create(...); // OnEnter is public!


Заранее спасибо!


 
MBo ©   (2004-02-08 16:38) [1]

только для published.


 
Palladin ©   (2004-02-08 16:44) [2]


> := TEdit.Create(...); // OnEnter is public!

не public, а published

смотри файл %Delphi%\Source\RTL\Common\TypInfo.pas


 
Юрий Федоров ©   (2004-02-08 16:52) [3]

К protected свойству можно получить доступ
то есть, если класс А имеет это свойство, любой потомок также будет его иметь.
А в какой именно секции - не так важно


 
Эдуард   (2004-02-08 17:16) [4]

to Юрий Федоров
как получить тогда доступ к protected-свойству потомка A?
напр. А is TCustomEdit, тогда A.OnEnter - не сработает...


 
Amoeba ©   (2004-02-09 14:22) [5]


> как получить тогда доступ к protected-свойству потомка

На прошлой неделе это уже обсудалось в форуме.


 
Тимохов ©   (2004-02-09 14:33) [6]


> Эдуард (08.02.04 17:16) [4]

Можно так.
unit 1;
interface
type
tprotected = class
protected i: integer;
end;
implementation
end.

unit 2
interface
type
tprotected2 = class(tprotected1);
procedure A(v: tprotected);

implementation

procedure A(v: tprotected);
begin
v.i := 2; // так будет ошибка
tprotected2(v).i := 2; // а так, нет
end;

end.


 
Тимохов ©   (2004-02-09 14:34) [7]

гnit 2
interface
type
tprotected2 = class(tprotected);



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
14-53751
Тохус
2004-01-27 12:30
2004.02.17
Черный квадрат


1-53594
leonidus
2004-02-01 11:58
2004.02.17
Не отрабатываются исключительные ситуации


14-53753
DelphiN!
2004-01-24 01:08
2004.02.17
Форум этого сайта


14-53712
RIMMER
2004-01-30 10:29
2004.02.17
Мой новый веб-проект


4-53818
Mohamed
2003-12-11 23:09
2004.02.17
Stop watch