C++ Builder 5中使用COM组件

lake_cx 2009-01-23 10:35:42
我在BCB5中要操作XML,导入了msxml.dll的类型库,生成了MSXML_TLB.h和MSXML_TLB.cpp文件。
但我在使用过程中发现包装的部分方法没有实现代码,导致无法链接
譬如IXMLDocument2DispT中有方法HRESULT __fastcall set_url(BSTR p/*[in]*/);,但是该方法在MSXML_TLB.cpp中并没有对应的实现。
后来改用指针(m_XmlDoc->set_url)操作(直接使用IXMLDocument2接口),发现声明是HRESULT STDMETHODCALLTYPE set_url(BSTR p/*[in]*/);,请问这种声明能成么?它不用声明成外部实现么?我直接调用的话也会在链接时找不到set_url这个外部符号啊,是不是需要引用什么库文件?
...全文
221 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lake_cx 2009-01-24
  • 打赏
  • 举报
回复
嗯,我改用IXMLDOMDocument了,不知道那个IXMLDocument怎么用的。。。
我来看看CB 2009-01-23
  • 打赏
  • 举报
回复
麻烦啊,换用新的版本看看
lake_cx 2009-01-23
  • 打赏
  • 举报
回复
我印象中,貌似接口的成员一般声明为纯虚方法,只是作个占位而已(类似结构体),但BCB5自动生成的接口怎么不是这样的啊,它那interface关键字貌似只是个标识而已,没什么作用
oyljerry 2009-01-23
  • 打赏
  • 举报
回复
参考一下vc的

VC中对XML编程 通过引入msxml.dll动态库
....
#import "msxml.dll"
using namespace MSXML;
....
写了上面两句有就可以使用xmlsdk.chm中介绍的各种XML对象了

CoInitialize(NULL);
IXMLDOMDocumentPtr domPtr;
IXMLDOMNodePtr nodePtr;
IXMLDOMNodeList listPtr;
...
_variant_t tt("ttt.xml");
....
domPtr.CreateInstance("msxml.xmldocument");
domPtr->Load(tt);//装载XML文件
...
操作XML文档

oyljerry 2009-01-23
  • 打赏
  • 举报
回复
找一下库文件 ... msxml2.lib

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧