关于 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组件的信息. 一.类型库的基础 ...
随机推荐
- Flutter的scope_model使用mixin语法报错
在pubspec.yaml同级目录下创建analysis_options.yaml文件,内容: # https://www.dartlang.org/guides/language/analysis- ...
- socket FTP-1
基于socket实现文件的传输以及md5验证 server: import socket import os import hashlib server=socket.socket() server. ...
- WPF通过DynamicResource实现给界面动态更换皮肤
在我们的程序中有时候需要去实现动态更换皮肤的效果,从而完成一些个性化的设置,那么我们究竟怎样去实现动态换皮肤的效果呢?那么我们经常用到的就是设置不同的Style,并且在主程序的xaml文件中通过Dyn ...
- django celery redis 定时任务
0.目的 在开发项目中,经常有一些操作时间比较长(生产环境中超过了nginx的timeout时间),或者是间隔一段时间就要执行的任务. 在这种情况下,使用celery就是一个很好的选择. cele ...
- jQuery方法区别:click() bind() live() delegate()区别
今天看到一篇jquery 事件的文章,自己写了个小例子,虽然2种方式都可以实现,但是不太明白,找了点资料 $("#box1").delegate("p",&qu ...
- Spring Boot 构建电商基础秒杀项目 (三) 通用的返回对象 & 异常处理
SpringBoot构建电商基础秒杀项目 学习笔记 定义通用的返回对象 public class CommonReturnType { // success, fail private String ...
- 前后端进行数据交互时候 要优先考虑json格式即简直对形式,[{}] 列表形式 等便于操作的数据结构
前后端进行数据交互时候 要优先考虑json格式即简直对形式,[{}] 列表形式 等便于操作的数据结构
- ubuntu18.04系统下用devstack安装openstack(最新版)
ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427 前期准备: 安装git,升级pip,其他 s ...
- 创建iview框架的项目
http://www.cnblogs.com/jf-67/p/8479176.html 在使用‘vue init webpack my-project’创建项目时,出现了错误 npm ERR! cod ...
- RSS阅读器“阅读原文”报错400
问题 使用SpringMVC框架,实现了RSS订阅,在FoxMail的RSS订阅页面,点击[阅读原文],报错400 . 每个RSS文章的链接是:https://jiashubing.cn/forum/ ...