Перехват ошибок
Обновлен: Ноябрь 2007
При выполнении привязки данных перехват ошибок производится посредством событий ошибок и объектов ошибок.
Перехват ошибок посредством событий ошибок
Как для элемента управления данными ADO, так и для элемента управления данными RemoteData RDO определены события ошибок. Для события ошибки обычно задается обработчик событий. Обработчики событий должны иметь следующую сигнатуру:
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
Как правило, поле Description заполняется, а поля ErrorNumber и Scode заполняются только в случае ошибок COM. Стандартный обработчик ошибок выводит содержимое поля Description в окне сообщений. Пример:
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
Однако, поскольку элемент управления данными ADO и элемент управления RemoteData RDO уже настроены на перехват ошибок, дополнительного кодирования не требуется.
Перехват ошибок посредством объектов ошибок
Как в ADO, так и в RDO имеются объекты ошибок. При создании классов-оболочек элемент управления RDO RemoteData создает оболочки для объектов ошибок. Однако элемент управления данными ADO не создает подобных оболочек.
Элемент управления данными ADO автоматически выводит сообщения об ошибках ADO.
См. также
Ссылки
Привязка данных в Visual C++ с помощью элементов управления ActiveX