Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2009, 12:35   #1
tavrocotaps
Пользователь
 
Аватар для tavrocotaps
 
Регистрация: 16.08.2008
Сообщений: 56
По умолчанию Проблемы с типами

Отлаживаю чужой проект написанный давно при помощи C++Builder5.
Используется куча сторонних компонентов, в том числе и GridEh.
При попытке создать обработчик события OnDrawColumnCell пявляется ошибка [C++ Error] Chron.h(59): E2015 Ambiguity between 'TGridDrawState' and 'Grids::TGridDrawState'
а если для параметра TGridDrawState указать явно, тип из какого пространства имен использовать, т.е. Grids::TGridDrawState, то пишет, что для функции DBGridEh1DrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumnEh *Column, Gridseh::TGridDrawState State) неверный список параметров. Подскажите, как с этим боротся.
forever trusting who we are...
tavrocotaps вне форума Ответить с цитированием
Старый 29.01.2009, 13:32   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код в студию.
MaTBeu вне форума Ответить с цитированием
Старый 29.01.2009, 16:15   #3
tavrocotaps
Пользователь
 
Аватар для tavrocotaps
 
Регистрация: 16.08.2008
Сообщений: 56
По умолчанию

тут большая части кода генерируется IDE
Код:
void __fastcall TfChron::DBGridEh1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumnEh *Column,
      TGridDrawState State)

{ int state=IBQuery1->FieldByName("nSTATE")->AsInteger;
  if (!state) DBGridEh1->Canvas->Font->Color=clRed;
  DBGridEh1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
возникает ошибка E2015 Ambiguity between 'TGridDrawState' and 'Grids::TGridDrawState'

указываю namespace
Код:
void __fastcall TfChron::DBGridEh1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumnEh *Column,
      Gridseh::TGridDrawState State)
Возникает ошибка DBGridEh1DrawColumnCell method referenced by DBGridEh1->OnDrawColumnCell has an incompatible parametr list

тип TGridDrawState State в GridsEh описан так
Код:
typedef Set<GridsEh__4, gdSelected, gdFixed>  TGridDrawState;
forever trusting who we are...
tavrocotaps вне форума Ответить с цитированием
Старый 29.01.2009, 17:28   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Внимательно посмотрите на ошибку
Цитата:
DBGridEh1DrawColumnCell method referenced by DBGridEh1->OnDrawColumnCell has an incompatible parametr list
И на ваш код
Код:
void __fastcall TfChron::DBGridEh1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumnEh *Column,
      Gridseh::TGridDrawState State)
Вы в свою функцию-обработчик неправильный список параметров передаете.

ПыСы: посмотрите, может вы хидеры в которых описаны и те и те классы подключаете? Нужно подключить только один.
А вообще попробуйте написать
Код:
GridsEh::TGridDrawState State

Последний раз редактировалось MaTBeu; 29.01.2009 в 17:35.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с IE xakzona Помощь студентам 1 16.12.2008 21:53
Не могу разобраться с типами DM_bite Помощь студентам 6 11.08.2008 11:22
Работа со строковыми типами VenMaster Общие вопросы Delphi 2 04.06.2008 08:07
Проблемы с Mozilla KsanDra JavaScript, Ajax 1 29.10.2007 11:44
проблема с типами Saya Свободное общение 0 27.04.2007 12:22