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

Вниз

Есть ли возможнось узнать есть ли у класса 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-53499
Agent[007]
2004-02-01 11:11
2004.02.17
TResourceStream


3-53411
Санек
2004-01-26 11:54
2004.02.17
Как сделать чтобы GotoBookmark не менял грид ?


3-53370
iov
2004-01-19 12:40
2004.02.17
Параметры в Query


7-53785
MaximCHR
2003-10-31 15:58
2004.02.17
блокировка клавиатуры и мыши


7-53799
BaDeVlad
2003-12-02 12:44
2004.02.17
Как восстановить удаленный файл?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский