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

Вниз

Что то пропустил, как так можно делать?   Найти похожие ветки 

 
AV ©   (2012-06-26 09:12) [0]

почему это работает?

procedure WMSetText(var Msg : TWMSetText); message WM_SETTEXT;

procedure TMyForm.WMSetText(var Msg : TWMSetText);
begin
inherited; //????
бла-бла
end;

Какой еще inherited?
Откуда известно, куда надо делать inherited?
(
подробнее
http://delphimaster.net/view/2-1340630036/
)


 
Давайте будем жрать!   (2012-06-26 09:20) [1]


> Какой еще inherited?
Стандартный обработчик сообщения.. До или после (в твоём примере) него ты выполняешь какие-то дополнительные действия.


 
Palladin ©   (2012-06-26 09:23) [2]

читай в справке про "Message Methods"


 
Ega23 ©   (2012-06-26 09:23) [3]


> inherited; //????


выполнить у ближайшего предка метод с названием и параметрами, аналогичными текущему.
Что не так?


 
Ega23 ©   (2012-06-26 09:24) [4]


> читай в справке про "Message Methods"


О, кстати. Там была какая-то заковыка с inherited. С полгода назад что-то такое проскакивало.


 
icWasya ©   (2012-06-26 09:34) [5]

>Какой еще inherited?

В случае "Message Methods", например такой
procedure WMSetText(var Msg : TWMSetText); message WM_SETTEXT;
Inherited подразумевает выполнение метода предка не с таким же именем, а с тем же номером сообщения, в данном случае WM_SETTEXT, если такой у предка есть. Если у предка нет такого метода, то не делается ничего.

>Откуда известно, куда надо делать inherited?
Ниоткуда. Это должно быть известно только разработчику метода.
В какой момент и нужно ли вообще вызывать стандартный обработчик - решать автору.


 
Anatoly Podgoretsky ©   (2012-06-26 09:47) [6]


> Какой еще inherited?

Нормальный, я уже ответил в начальной теме, inherited к виртуальности отношения не имеет, это относится только к наследованию


> Откуда известно, куда надо делать inherited?

Компилятор знает прародителя и все его методы, тут нет никакой проблемы.

Когда надо указать какой именно метод вызывать, то используется вторая форма inherited имя

и когда еще и другой список параметров то третья форма inherited имя(параметры)

inherited всего лишь макроподстановка имени класса прародителя, более гибко, нет привязки к имени


 
AV ©   (2012-06-26 09:55) [7]

ясно. Спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1347959351
DevilDevil
2012-09-18 13:09
2013.03.22
Методы компиляции и оптимизации машинных команд


15-1345453443
Дмитрий С
2012-08-20 13:04
2013.03.22
Мастер-класс по микроконтроллерам.


2-1344085484
MS Access
2012-08-04 17:04
2013.03.22
Сортировка по части поля


15-1341674225
Tommy
2012-07-07 19:17
2013.03.22
Кто сможет опознать место по фото?


6-1264750451
Pavel
2010-01-29 10:34
2013.03.22
Многопоточность в Indy