文書番号: 401940
最終更新日: 2003/11/11
この資料は以下の製品について記述したものです。
- Microsoft(R) Visual C++(TM) Development System Standard Edition forWindows(TM) Version 1.0
- Microsoft(R) Visual C++(TM) Development System Professional Edition forWindows(TM) Version 1.0
概要
この資料は AppWizard で生成されたソースコードに ddeml.h をインクルードした場合
に HSZ がすでに宣言されていますというエラーが発生する問題について説明したもの
です。
詳細
AppWizard で生成したソースコードに ddeml.h をインクルードするように記述して
コンパイルすると「 error C2371: 'HSZ' : すでに宣言されています。」というエラー
が発生します。
原因
これは AppWizard で生成されたコードに標準でインクルードされている afxext.h と
ddeml.h の両方のヘッダファイルの中で、前者は DECLARE_HANDLE32 マクロで、後者
は typedef BPSTR FAR* で HSZ という型が宣言されているために発生します。
対処方法
この問題は以下の方法で回避することができます。
-
AFXEXT.H と DDEML.H を同一モジュール内でインクルードしないようにコードを
記述をする。
-
VBX を使用しないのであれば AFXEXT.H のインクルードの記述の前に
NO_VBX_SUPPORT を define する。
-
どちらかのヘッダを書き換えて HSZ 型の宣言を1つにする。
Keywords: KBBUG VC10 KB401940
Technology: kbAudDeveloper kbVCsearch