tlb文件为何而生?

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

 

 


你可能感兴趣的:(dll,dialog,include,browser,resources,Numbers)