powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Переопределение метода базового класса
5 сообщений из 5, страница 1 из 1
Переопределение метода базового класса
    #33416956
тот самый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Проблема:

Создаю компонент на основе компонента Tedit

class PACKAGE TEditLetNum : public TEdit
{
private:
bool FEnableNum;
bool FEnableLet;
bool FModified;

protected:
void __fastcall SetEnableLet(bool AEnableLet);
void __fastcall SetEnableNum(bool AEnableNum);
void __fastcall KeyPress(char &Key);

public:
void __fastcall Clear();

__fastcall TEditLetNum(TComponent* Owner);
__property bool Modified={read=FModified, default=false};
__published:
__property bool EnableLet={read=FEnableLet, write=SetEnableLet, default=true};
__property bool Enablenum={read=FEnableNum, write=SetEnableNum, default=true};
};

При компиляции ошибка:
[C++ Error] EditLetNum.h(22): E2113 Virtual function '_fastcall TEditLetNum::KeyPress(char &)' conflicts with base class 'TWinControl'

Ни чего не могу понять:( вроде обычное переопределение метода в классе потомка. ПОМОГИТЕ выяснить причину.

Спасибо.
...
Рейтинг: 0 / 0
Переопределение метода базового класса
    #33417202
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Особенность VCL...
Вставь DYNANIC перед описание функции KeyPress
...
Рейтинг: 0 / 0
Переопределение метода базового класса
    #33417255
тот самый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, помогло! :)

А что эта директива значит?
...
Рейтинг: 0 / 0
Переопределение метода базового класса
    #33417833
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VCL написана на пасцале...
Остальное в хелпе.
Мало времени...
...
Рейтинг: 0 / 0
Переопределение метода базового класса
    #33417892
spectre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В TWinControl функция объявлена как
Код: plaintext
1.
DYNAMIC void __fastcall KeyPress(char &Key);
Поэтому при переопределении этот спецификатор необходимо ставить.
DYNAMIC в данном случае заменяет virtual (наверное разработчики хотели отделить таким образом события аппаратных прерываний).
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Переопределение метода базового класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]