Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перегрузка стандартных компонентов

4.0K
19 января 2008 года
ApokALEXIS
112 / / 23.08.2006
Пытаюсь перегрузить стандартные компоненты билдера. Например кнопку. Добавить в нее своих переменных.

не могу перегрузить (а вернее наследовать) конструктор

 
Код:
class TField : public TButton
{
private:
...
public:
 TField(TComponent* _own):TButton(_own){...}
};


ошибка
[C++ Error] Graphic.h(23): E2113 Virtual function 'TField::TField(TComponent *)' conflicts with base class 'TButton'
10K
19 января 2008 года
FAngel
77 / / 13.09.2006
 
Код:
__fastcall TField(TComponent* _own):TButton(_own){...}

Так работает. Почему - не скажу, сам не знаю, а искать некогда. Похоже чего-то там с типами не сошлось. Если кто знает почему надо писать именно так, буду благодарен за обьяснение. :)
246
20 января 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: FAngel

...Если кто знает почему надо писать именно так, буду благодарен за обьяснение. :)



A virtual function has the same argument types as one in a base class, but differs in one or more of the following:

Return type
Calling convention //для данного случая
Exception specification (throw list)


F1 почаще нажимай:)

309
21 января 2008 года
el scorpio
1.1K / / 19.09.2006
Делал так
 
Код:
virtual __fastcall TMyButton (TComponent *Owner): TButton (Owner)
 {Что_То_Там();}
__fastcall TMyButton (HWND ParentWindow): TButton (ParentWindow)
 {Что_То_Там();}

Ошибка возникала из-за неявного указания виртуальности конструктора.
Второй конструктор, судя по справочнику, вызывается для создания кнопки в объектах, не являющихся VCL-компонентами. Например, в процессе экспорта из ДЛЛ
Цитата:
ParentWindow is the handle to a non-VCL window that hosts the button control This syntax is used, for example, when exporting the button from a dll.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог