C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Не могу разобраться с полиморфизмом, Переношу код в Builder из дельфы
Fate
Отправлено: 30.07.2004, 11:01


Не зарегистрирован







ЕСТЬ простенький дельфовый код

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 роли не играет — все равно метод не доступен)
xTrim
Отправлено: 30.07.2004, 12:53


Машинист паровоза

Группа: Участник
Сообщений: 208



CODE

void __fastcall TForm1::WMLButtonUp(TMessage &Message)
{
TForm::Dispatch(&Message);
}

Вернуться в Вопросы программирования в C++Builder