エラー トラップ

更新 : 2007 年 11 月

データ バインディング時のエラー トラップの発生元として、エラー イベントとエラー オブジェクトの 2 つが挙げられます。

エラー イベントによるエラー トラップ

ADO データ コントロールおよび RDO RemoteData コントロールのデータ コントロールには、エラー イベントがあります。通常は、エラー イベント ハンドラを設定します。イベント ハンドラは、次のようなシグネチャ (引数の数、順番、および型) を持ちます。

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 データ コントロールおよび RDO RemoteData コントロールは既にエラー イベントをトラップするように設定されているため、コーディングは不要です。

エラー オブジェクトによるエラー トラップ

ADO と RDO には、エラー オブジェクトがあります。ラッパー クラスを作成すると、RDO RemoteData コントロールはエラー オブジェクト用のラッパー関数を作成します。一方、ADO データ コントロールは、このようなラッパー関数を作成しません。

ADO データ コントロールは、ADO エラー メッセージを自動的に表示します。

参照

参照

Visual C++ で ActiveX コントロールによるデータ連結を行う