Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Создание компонента


Автор: dix75 21.10.2007, 10:28
Всем привет

Создаю событие так:
*.h

Код

class PACKAGE TmyStringGrid : public TStringGrid
{
private:
    TSelectCellEvent myFOnSelectCell;
protected:
    void __fastcall befOnSelectCell( TObject *Sender, int Col,  int Row,  bool &CanSelect);
public:
    __fastcall TmyStringGrid(TComponent* Owner);

__published:
    __property TSelectCellEvent OnSelectCell  = { read=myFOnSelectCell, write=myFOnSelectCell};
};



*.cpp

Код

__fastcall TmyStringGrid::TmyStringGrid(TComponent* Owner)    : TStringGrid(Owner)
{
    TStringGrid::OnSelectCell = befOnSelectCell;
}
...
void __fastcall TmyStringGrid::befOnSelectCell(   TObject *Sender,  int Col,  int Row,  bool &CanSelect)
{
    MessageBox(NULL,"gsretg","gsreg",MB_OK);
    if(myFOnSelectCell != NULL)
        myFOnSelectCell(Sender,Col,Row,CanSelect);
}


при размещении компонента на форме в строчке 

Код

TSelectCellEvent myFOnSelectCell;


вылезает следующая ошибка 
Код

[C++ Error] IrmyStringGrid.h(26): E2015 Ambiguity between 'TSelectCellEvent' and 'Bsskingrids::TSelectCellEvent'



внесение следующего кода не помогает 

using namespace Bsskingrids;

ясно что он хочет пространство имен
но как ему указать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)