Главная страница
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.05 c
2-1150291320
StriderMan
2006-06-14 17:22
2006.07.02
TTreeView количество узлов


15-1149684949
Elen
2006-06-07 16:55
2006.07.02
pdf в doc


2-1150209570
Марина
2006-06-13 18:39
2006.07.02
Сохраниние ячеек таблицы


2-1149862619
Ladan
2006-06-09 18:16
2006.07.02
MediaPlayer and TrackBar


3-1146642258
Stanislav
2006-05-03 11:44
2006.07.02
Драйвер для работы с DB и DBF