关于 tlb 文件
来自:http://blog.csdn.net/lcl_data/article/details/7418387
tlb文件是什么?
tlb文件是一个说明文件,通过TLB文件,用户可以得知你的DLL中的COM接口以及常量等信息。其可以单独发行,也可以作为组建DLL中的一个资源随组件一起发行。你可以在VS的Object Browser中看到该文件中包括哪些常数、接口、类,而每个类又包括什么方法和属性。微软提供的各种SDK中通常包括一个或数个TLB文件以方便编程。
怎么创建tlb文件?
用MIDL.exe 和idl文件可以创建tlb文件,[ 1,2].
rc文件里面1TYPELIB "ProjectName.tlb"的用意?
一个组件DLL中可以包含多个型库文件(TLB),1代表第一个类型库文件。序号是必须的,这样客户可以使用序号通过LoadTypeLib() 等方法将指定TLB从DLL/EXE文件中导出.
怎么使用tlb文件?
可以把他随组件一起发行,发行方法[3]:
1. 以text的方式打开rc文件。
2. 在TEXTINCLUDE定义的地方加上以下行:
3 TEXTINCLUDE DISCARDABLE
BEGIN"1 TYPELIB
""ProjectName.tlb""\r\n"
"\0"END
注意:在TEXTINCLUDE前面的数字是递增的,他应该是比你已有的TEXTINCLUDE 的 大1.
3. 做.rc文件的最下方添加以下行:
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the
TEXTINCLUDE 3 resource.
//
1 TYPELIB "ProjectName.tlb"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
注意: 在TYPELIB"ProjectName.tlb"前面的数字也是递增的,1这里代表第一个tlb文件。
TEXTINCLUDE是啥?
TEXTINCLUDE主要是包含三种[4]:
i.d. Type of Set Includes information
1 Symbol Header File
2 Read-Only Symbol Directives
3 Compile-Time Directives
这个是MSDN对它的解释:
The purpose of the TEXTINCLUDE resource is to safely store Set Include information in a form that is readily presentable in Visual C++ 's Set Includes dialog box. TEXTINCLUDE is a resource type defined by Visual C++. Visual C++ recognizes three specific TEXTINCLUDE resources that have the resource identification numbers 1, 2 and 3.
下面是我的翻译:
TEXTINCLUDE 资源的目的就是以某种结构的形式,安全的存贮include集合信息,这样他就可以方便的在Visual C++的Includes 集合设置框里显示出来。
TEXTINCLUDE 是 Visual C++定义的一种资源类型。Visual C++能够识别特定3种TEXTINCLUDE资源,他们的标识号分别是1,2,3.
参考:
[1]http://topic.csdn.net/t/20010910/15/280442.html
[2]http://msdn.microsoft.com/en-us/library/windows/desktop/ms680078(v=vs.85).aspx
[3]http://www.vckbase.com/english/code/atl/typelibres.shtml.htm
[4] http://topic.csdn.net/t/20060805/20/4929692.html
关于 tlb 文件的更多相关文章
- C#生成.tlb文件初认识
刚接手同事的代码,生成文件时,发现生成了一个对应的dll文件(应用程序中输出类型为类库),和一个对应的.tlb文件,但是报如下的错误: 那么.tlb文件是如何生成的呢? 选择项目->右键属性-& ...
- Ocx控件注册不成功?可能是tlb文件导致~
Ocx文件是最常用的文件,实际操作中常常需要注册之~ 但是问题来了,经常会出现注册不成功的问题: 解决方法: 1.以“管理员身份”注册 2.Dependency Walker查看依赖是否缺失 3.查看 ...
- ATL com的dll文件与tlb文件
一..tlb文件: 只有COM组件才有tlb文件,普通dll文件没有. 包含内容: 1.它包含了COM类和接口的GUID值,接口的函数声明信息,并不是接口的实现文件.相当于类和接口的头文件. tlb文 ...
- visual studio2010中C#生成的,ArcGIS二次开发的basetool的dll,注册为COM组件tlb文件,并在arcmap中加载使用
写了个标题好长啊~~~~ 这两天又认识了一个新玩意,记录一下下,啦啦啦~~~~~ 话说,认识arcgis快十年了,从桌面版到engine的二次开发,其实不过才认识到它的冰山一角, 它总是能带来很多还未 ...
- 偶遇com组件 .rc 文件 not found .tlb文件问题:
好久木有弄com组件来,记忆已经模糊了,今天遇见一个编译问题,折腾了半天,mark一下: xxx_x64.rc(273): error RC2135: file not found: xxx.tlb ...
- [转载]tlb、tlh和tli文件的关系
tlb.tlh和tli文件的关系 tlb文件:com类型库文件.在需要使用对应com类的模块里,“#import ...*.tlb”使用之. tlh.tli文件:他们是vc++编译器解析tlb文件生成 ...
- tlb,tlh,tli文件的关系
tlb文件:com类型库文件.在需要使用对应com类的模块里,“#import ...*.tlb”使用之. tlh.tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件.因为odl和tl ...
- [转载]VC6中的文件后缀
VC文件扩展名 .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具 ...
- Delphi COM编程技术三类型库(库文件中的工具栏,很全)
在COM组件的使用和开发过程中经常需要获取有关组件的信息.而COM组件以二进制代码的形式发布,如果不借助特定的工具这些相关信息将难以被获取.通过访问类型库就可以查看COM组件的信息. 一.类型库的基础 ...
随机推荐
- 免费苹果账号(apple id)申请ios证书p12真机调试
HBuilder可以直接打包越狱版的ipa包,但需要越狱手机才能安装,如果需要安装到没越狱的手机安装,需要自己申请ios证书打包. 一般是需要一个付费了的苹果开发者账号才能申请ios证书打包. 这里介 ...
- liunx 运维知识三部分
一. 用户级用户组相关 二. 文件属性和链接知识及磁盘已满故障案例 三. 通配符 四. 特殊符号 五. 基础正则 六. 扩展正则 七. sed实践 八. awk实践
- Golang的interface实践
这是第二个我在别的语言里面没有见过的实现,go的interface可以说是独树一帜,让我们仔细来实践一下. interface类型是什么?interface类型定义了一组方法,如果某个对象实现了某个接 ...
- webpack模塊打包機
https://blog.csdn.net/qq_38277366/article/details/82907894
- Jenkins+PowerShell持续集成环境搭建(一)前期准备
0. 系统要求 Windows Server:本文章使用的为Windows Server 2012 JDK:本文章使用为JDK 1.8 Windows PowerShell:本文章使用为PowerSh ...
- 【NLP】Recurrent Neural Network and Language Models
0. Overview What is language models? A time series prediction problem. It assigns a probility to a s ...
- workerman——配置小程序的wss协议
前言 服务器: 阿里云服务器 | 需要在安全组放开443端口和workerman需要的端口 环境: oneinstack | lnmp oneinstack添加虚拟主机的时候选择第三个即可 | 这个添 ...
- PHP——emjoin表情存入数据库
前言 还有一种解决的方法是更改数据库,这里就不写了,这里直接对emoji进行转码 代码 mb_strlen() | strlen() | rawurlencode() | rawurldecode() ...
- Map Labeler POJ - 2296(2 - sat 具体关系建边)
题意: 给出n个点 让求这n个点所能建成的正方形的最大边长,要求不覆盖,且这n个点在正方形上或下边的中点位置 解析: 当然是二分,但建图就有点还行..比较难想..行吧...我太垃圾... 2 - s ...
- 【CF809E】Surprise me! 树形DP 虚树 数学
题目大意 给你一棵\(n\)个点的树,每个点有权值\(a_i\),\(a\)为一个排列,求 \[ \frac{1}{n(n-1)}\sum_{i=1}^n\sum_{j=1}^n \varphi(a_ ...