.tlb文件是com组件的.IDL文件经过MIDLexe编译器编译后生成的供客户程序获取该COM组件接口信息的文件,因此是不包含接口的实现文件的。
COM组件的dll包含着真正的接口实现内容,tlb只是对COM接口和类的描述,程序通过tlb文件可以找到相应的dll文件和实现接口的类而已。
因此,导入类型库时候,即#import ‘xx.tlb'实际上在背后还是需要对于COM组件的支撑。
但是有些类型库直接使用#import ’xx.dll'是什么原因呢?这是因为该dll封装了tlb文件,实际上利用的还是tlb里面的定义内容。
tlb文件不是必须的,通过动态加载dll文件一样可以调用com组件。