![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу разобраться с полиморфизмом
Fate © (2004-07-30 11:57:00)ЕСТЬ простенький дельфовый код
TForm1=class(TForm)
private
procedure WMLButtonUp(var Message:TMessage); message WM_LBUTTONUP;
end;
implementation
procedure TForm1.WMLButtonUp(var Message:TMessage);
begin
inherited;
{..код не относящийся к делу..}
end;
ПЫТАЮСЬ это переложить на Builder:
class TForm1 : public TForm
{
__fastcall TForm1(TComponent* Owner);
private: void __fastcall WMLButtonUp(TMessage &Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_LBUTTONUP, TMessage, WMLButtonUp)
END_MESSAGE_MAP(TForm)
};
void __fastcall TForm1::WM_LBUTTONUP(TMessage &Message)
{
TForm::WM_LBUTTONUP(Message);
/*вот здесь и выскакивает ошибка (в этом полиморфизме),
компилятор говорит что TControl ::WM_LBUTTONUP(TMessage&) недоступен
и еще - когда в делфях принудительно указываю имя метода родителя
компилятор точно также ругается, а когда просто ставлю inherited без
имени все прокатывает*/
}
Помогите, pls, а то совсем не могу разобраться (то что вместо TMessage
нужно передовать TWMSize роли не играет - все равно метод не доступен)
wicked (2004-07-30 12:05:00) [1]да и не полиморфизм это никакой.... так, ловля сообщений...
wicked (2004-07-30 12:04:00) [2]это
> TForm::WM_LBUTTONUP(Message);
заменить на это
> TForm::Dispatch(Message);