TBitmap ambiguity
void __fastcall ButtonPaint(TObject *Sender, TBitmap *Bmp)
При добавлении обработчика этого события появляется ошибка "Ambiguity between TBitmap and Windows::TBitmap". Подабалвял в обработчик вместо TBitmap Graphics::TBitmap.
void __fastcall ButtonPaint(TObject *Sender, Graphics::TBitmap *Bmp)
Теперь Builder отказвается воспринимать его как обработчик этого события.
Есть предложения, как всё-таки я смогу обрабатывать это событие?
Попробуй поиграться с namesapce'ом.
Цитата: Underworld
Попробуй поиграться с namesapce'ом.
Неа, пробовал уже. Что using namespace Graphics, что using namespace Windows - нифига не помогает.
Ничего не путаешь? У объектов класса TSpeedButton нет события OnPaint
Билдер 6, компонент TsSpeedButtton (Из AlphaSkins), но суть ведь не в этом, а в том, что не получается написать просто TBitmap как аргумент обработчика.
Цитата:
void __fastcall ButtonPaint(TObject *Sender, Graphics::TBitmap *Bmp)
Теперь Builder отказвается воспринимать его как обработчик этого события.
Теперь Builder отказвается воспринимать его как обработчик этого события.
А что компилятор пишет? Обычно сообщение об ошибке имеет вид: "Невозможно привести тип XYZ в тип XZY".
Назначь обработку события вручную, и сам увидишь, как нужно объявить метод-обработчки.
Код:
Object->Event = this->Method; // Вот так, без параметров
Короче буду я писать MESSAGE_HANDLER, обрабатывать событие OnPaint вручную и жить спокойно...
Цитата: madjahed
Компилятор не понимает какой TBitmap использовать: из namespace'a Windows или Graphics. Когда я его головой тычу, и говорю, что мне нужен TBitmap из Graphics - Graphics::TBitmap - он начинает ругаться, что этот обработчик - не настоящий, т.к. аргумент в нём не типа TBitmap, а типа Graphics::TBitmap.
Короче буду я писать MESSAGE_HANDLER, обрабатывать событие OnPaint вручную и жить спокойно...
Короче буду я писать MESSAGE_HANDLER, обрабатывать событие OnPaint вручную и жить спокойно...
С подобной проблемой я сталкивался при работе с TDBGridEh - если хочешь можешь поискать эту тему - помоему год 2004-2005 - выхода два - не обращать внимания на ругательства или в конструкторе формы переопределять обработчик нужного события с нужными параметрами. И то и другое вполне работает.
в 6 билдере прокатило.