проблема с макросом DDX_FLOAT
|
От: |
zabriski
|
|
| Дата: | 29.05.05 23:48 |
|
Оценка: |
|
Помогите разобраться, плз:
Описываю макрос в карте:
BEGIN_DDX_MAP(CMainDlg)
...
DDX_FLOAT(IDC_EDT_A, A)
...
END_DDX_MAP()
Переменная А описана как double, IDC_EDT_A -- соответственно, айдишник эдит-бокса.
Так вот, при компиляции выдаёт эррор:
error C3861: 'DDX_FLOAT': identifier not found, even with argument-dependent lookup
Исчу, где ж этот макрос определён, нахожу в файле atlddx.h следующее:
#ifdef _ATL_USE_DDX_FLOAT
#define DDX_FLOAT(nID, var) \
if(nCtlID == (UINT)-1 || nCtlID == nID) \
{ \
if(!DDX_Float(nID, var, bSaveAndValidate)) \
return FALSE; \
}
...
#endif //_ATL_USE_DDX_FLOAT
и ещё такое:
#ifdef _ATL_USE_DDX_FLOAT
...
BOOL DDX_Float(UINT nID, float& nVal, BOOL bSave, BOOL bValidate = FALSE, float nMin = 0.F, float nMax = 0.F, int nPrecision = FLT_DIG)
{
...
}
BOOL DDX_Float(UINT nID, double& nVal, BOOL bSave, BOOL bValidate = FALSE, double nMin = 0., double nMax = 0., int nPrecision = DBL_DIG)
{
...
}
#endif //_ATL_USE_DDX_FLOAT
Получается, что вся загвоздка в загадочном, неопределённом, судя по всему, макросе _ATL_USE_DDX_FLOAT!
Почему он не определён?
Пока на собственное сообщение не было ответов, его можно удалить.