如果从组件中导出tlb文件

admy 2009-09-23 02:21:06
项目中要引用 msxml2.dll,所以我在程序中加上以下代码.

#import "C:\WINNT\system32\msxml2.dll"

但是代码在别的机器上编译的时候,问题来了,msxml2.dll的路径变了.

我想的办法是,干脆把msxml.dll变成 msxml.tlb,并加到源文件中,那么我引用的时候就可以用下面的方式引用了:

#import "..\tlb\msxml2.tlb"

问题是:

(1)如何通过msxml2.dll生成msxml2.tlb

(2)或者有其他什么办法,去掉代码中的"C:\WINNT\system32\"路径信息.
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
admy 2009-09-27
  • 打赏
  • 举报
回复
试过了,两个文都需要,不过不用加入到项目中
dushuchen 2009-09-27
  • 打赏
  • 举报
回复
必须两个
admy 2009-09-27
  • 打赏
  • 举报
回复
生成有两个文件,一个tlh,一个tli,只加一个就可以吗
WaistCoat15 2009-09-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 nowish 的回复:]
引用 4 楼 waistcoat15 的回复:
你#import完,生成.tlh文件,把这个文件直接包含到工程里,然后把#import语句去掉就可以了


是能生成,但是需要import tlb文件吧
[/Quote]

不需要,都有接口定义了,当然就可以编译了

#import指令无非就是生产接口定义文件,然后加其添加到工程里而已
做鸡真好吃 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 waistcoat15 的回复:]
你#import完,生成.tlh文件,把这个文件直接包含到工程里,然后把#import语句去掉就可以了
[/Quote]

是能生成,但是需要import tlb文件吧
WaistCoat15 2009-09-25
  • 打赏
  • 举报
回复
你#import完,生成.tlh文件,把这个文件直接包含到工程里,然后把#import语句去掉就可以了
admy 2009-09-25
  • 打赏
  • 举报
回复
顶顶再问
admy 2009-09-23
  • 打赏
  • 举报
回复
总会有一些dll不在系统文件夹,自动找不着的吧。

在源代码中用到太多的系统文件,换一个环境系统编译都成问题。

如果都变成tlb直接放到源文件下无论在什么环境下,开发编译都容易。

我是被原来一个项目中一堆个性化的#import整惨过的。
rambo_ghaip 2009-09-23
  • 打赏
  • 举报
回复
直接用#import "msxml2.dll" 不行吗?
windows搜索时会搜索系统目录下的文件.

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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