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

Вниз

Оператор inherited   Найти похожие ветки 

 
Хой   (2006-06-13 10:08) [0]

Помогите разобраться в исходниках.
Есть обработчик нажатия кнопки в выпадающем  меню, в нём следующий текст

procedure TfrmMain.N5Click(Sender: TObject);
begin
 inherited;
end;
то есть в процедуре выполняеться единственный оператор inherited
Как мне оъяснили, что это оператор наследования, то есть есть форма предок, а это форма потомок, если есть оператор inherited то сначало выполняються операторы в процедуре предка с одноимённым названием, форму предка можно узнать в описании класса: вот описание TfrmMain = class(TIniForm), следовательно форма предок для формы frmMain являеться IniForm. Открыл модуль формы IniForm но процедуры с названием N5Click не нашёл. Помогите пожалуйста разобраться с оператором inherited, может я что то не так понял, в литературе подробного описания оператора inherited я так и не нашёл. Вобще где искать код выполнения если используеться оператор inherited ? Ведь програма работает, причём этот оператор используеться в програме несколько раз, при этом выполняються разные дейвствия.


 
DrPass ©   (2006-06-13 10:16) [1]


> Открыл модуль формы IniForm но процедуры с названием N5Click
> не нашёл.

Если в родительском классе такой процедуры нет, то inherited просто ничего не делает


 
Desdechado ©   (2006-06-13 10:18) [2]

inherited вызывает выполнение метода с таким же именем, унаследованного от одного (не обязательно от непосредственного, в нем может не быть) из предков класса


 
Хой   (2006-06-13 10:40) [3]

Если в родительском классе такой процедуры нет, то inherited просто ничего не делает
-----------------------------------------------
Ну ведь когда я компилирую проект, по нажатию этого пункта меню выполняються выполняються определённые дейвствия.

inherited вызывает выполнение метода с таким же именем, унаследованного от одного (не обязательно от непосредственного, в нем может не быть) из предков класса
------------------------------------------------
У формы TIniForm только один предок Tform, вот код TIniForm = class(TForm).
То есть стандартная форма, из поставки Delphi.


 
Сергей М. ©   (2006-06-13 10:47) [4]


> Хой   (13.06.06 10:08)


За неимением одноименного метода в классе-предке компилятор попросту молча игнорирует этот самый inherited.


 
Хой   (2006-06-13 11:11) [5]

Но програма ведь работает, по нажатию этого пункта меняю, выполняються нужные дейвствия.


 
Сергей М. ©   (2006-06-13 11:16) [6]

Отладчиком пользоваться умеешь ?


 
Плохиш ©   (2006-06-13 12:00) [7]


> Хой   (13.06.06 11:11) [5]
> Но програма ведь работает, по нажатию этого пункта меняю,
>  выполняються нужные дейвствия.

И при чём здесь procedure TfrmMain.N5Click(Sender: TObject);?
И вообще разводом воняет, т.к. D7 (да и все предыдушие версии) код приведённый в [0] выкинет как мусор при первом же сохранении проекта.


 
Чапаев ©   (2006-06-13 12:38) [8]


> D7 (да и все предыдушие версии) код приведённый в [0] выкинет
> как мусор при первом же сохранении проекта.

С чего бы? Сперва попробуй с наследованием форм поработать, тогда говори.


 
Плохиш ©   (2006-06-13 13:10) [9]


> Чапаев ©   (13.06.06 12:38) [8]
>
> > D7 (да и все предыдушие версии) код приведённый в [0]
> выкинет
> > как мусор при первом же сохранении проекта.
>
> С чего бы?

Странно,
у меня D все обработчики событий с одной командой inherited выкидываются.

> Сперва попробуй с наследованием форм поработать, тогда говори.

Может раскажите, как Вы так интересно формы наследуете, что такой мусор получаете?


 
Хой   (2006-06-13 13:55) [10]

Короче всё я разобрался, всем спасибо за помощь.


 
TUser ©   (2006-06-13 20:08) [11]

> Если в родительском классе такой процедуры нет, то inherited просто ничего не делает

Точнее - не компилируется.


 
evvcom ©   (2006-06-14 08:47) [12]


> Точнее - не компилируется.

Речь про обработчики. Скомпилится.



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
4-1143610279
TAK
2006-03-29 09:31
2006.07.02
Как получить командную строку процесса?


15-1149587106
tButton
2006-06-06 13:45
2006.07.02
странно... не смог найти ветку про то чья луна


3-1146725967
Серебров Евгений Леонидович
2006-05-04 10:59
2006.07.02
База Данных


2-1150311706
STALKER2
2006-06-14 23:01
2006.07.02
TTreeView


2-1149710958
Fiallo4ka
2006-06-08 00:09
2006.07.02
запросы