Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу разобраться с полиморфизмом


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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо