按帖子的操作步驟,做了一個測驗用的MFC,添加msword.olb所有類、代碼等,實作了對話框對word的調出、word中制表格。
問題是,按照這個步驟,把msword中所有類加入自己涉及的軟體中,就出現問題了,(從類向導添加完msword.olb所有檔案后,就一直提示msword.h(3534) : error C2011: 'Fields' : 'struct' type redefinition之類的重復定義問題)
請問:1、該如何解決?
2、看了一下,所有的.h都有類似
#if !defined(AFX_INFOPERFECT_H__4748C2CA_DD73_49F2_A483_83F9F4E2279B__INCLUDED_)
#define AFX_INFOPERFECT_H__4748C2CA_DD73_49F2_A483_83F9F4E2279B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// InfoPerfect.h : header file
之類的代碼,而只有msword.h沒有,是否需要在msword.h前面也加入這些,或者改動一些內容?謝謝
uj5u.com熱心網友回復:
那是你其他地方有定義了Fields這個名字(比如也同時匯入了ADO)匯入的時候可以用rename或者namespace關鍵字避免名稱沖突
比如
#import "C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB" rename("Fields","WORDFields") rename("Field","WORDField")
或者
#import "C:\Program Files\Common FIles\Microsoft Shared\VBA\VBE6EXT.OLB" rename_namespace("VBE6")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/16903.html
標籤:基礎類
