Главная страница
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.059 c
15-1334149857
AV
2012-04-11 17:10
2013.03.22
Как отменить умный поиск AdobeReader(v8.1.2)


15-1328526701
2222
2012-02-06 15:11
2013.03.22
Вырезать полигон из полигона


15-1329639614
NailMan
2012-02-19 12:20
2013.03.22
Давно что то не было новостей...


3-1287553350
mindgamer
2010-10-20 09:42
2013.03.22
Не добавляется запись в TTable


2-1330375381
LDV
2012-02-28 00:43
2013.03.22
Access Violation on AssignFile(fp, file_name)