佚名通过本文主要向大家介绍了工商查重名,公司重名查询系统,公司重名规则,公司重名查询,全国姓名重名查询等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 重名问题!!
描述:
现在我要实现这个XXX,由于里面涉及到XML文件,并且为了使用方便的_com_ptr_t,采用#import
大家也知道,如果在C++中不采用#import的方式来使用XML,想死的心都有了。
解决方案1:
描述:
本帖最后由 kingyo 于 2013-07-16 16:19:09 编辑
我写了一个IDL文件如下:import "oaidl.idl";
import "ocidl.idl";
import "msxml.idl";
[
uuid(CD6B686C-F6CC-48BF-9E62-770F4B5689CA)
]
library XXXLib
{
importlib("stdole2.tlb");
[
object,
uuid(9A4F4861-0350-4E52-BCFA-6E836E7F6C9C),
dual
]
interface IXXX : IDispatch //可从XML文件的Node中加载和保存
{
HRESULT Load([in] IXMLDOMNode* Medium);
HRESULT Save([in] IXMLDOMNode* Medium);
};
coclass XXX
{
[default] interface IXXX;
};
};
现在我要实现这个XXX,由于里面涉及到XML文件,并且为了使用方便的_com_ptr_t,采用#import
//XXX.cpp
#import <msxml.tlb>
STDMETHODIMP CXXX::Load(IXMLDOMNode* Medium)
{
MSXML::IXMLDOMNodePtr pMedium;
//现在这里有个问题,编译器认为目前有两个类型的IXMLDOMNode,
//一个是IXMLDOMNode,另外一个是MSXML::IXMLDOMNode,这根本就是两个类型
//如果我用#import <msxml.tlb> no_namespace 就会报重名冲突
//请问大家,怎么做才能使用方便的形式
pMedium->selectSingleNode(_bstr_t(_T("AAA"));
}
大家也知道,如果在C++中不采用#import的方式来使用XML,想死的心都有了。
解决方案1:
用reinterpret_cast应该可以。