谁给我讲解一下类型库这个概念
干什么用的,怎么用呢,

解决方案 »

  1.   

    COM组件都需要类型库,注册时需要,被人使用时也需要,实际上就是一种组件接口的描述语言(IDL),通常以资源的形式保存在程序文件里面。IDL语言能被任何语言读懂,并能翻译成适应自身语言的语法,从而被自己正确引用。
      

  2.   

    貌似楼上的给我讲解的是IDL语言,还是没有听懂类型库是怎么回事,晕
      

  3.   

    LZ问的是Class Library吧?是.net中通用的dll,使用命空间概念,定义一些导出类,给其它程序引用,.net的各种语言都可以引用。
      

  4.   

    http://vb.mvps.org/hardcore/html/whatistypelibrary.htm
      

  5.   

    my God,全E文的,你莫黑我
    有冒得中文的呀
      

  6.   

    就像一个中国人和一个韩国人碰到一起,双方都听不懂对方,于是他们讲英文。
    类型库(Type Library)的作用就是这个。
    如果双方都是c++,那好办,把类型描述的.h文件给对方就成。
    可是COM是跨语言的,两个不同语言的组件需要沟通怎么办?于是乎需要一种独立于语言的类型描述。
    IDL就是独立于语言的类型描述,Type Library是对IDL源文件的编译结果,目的是提高效率。
      

  7.   

    楼上的讲得不错,很形象
    不过还有些问题不明天,就是类型库是不是解决不同语言的类型的统一问题的呀? 比如说,c语言里面有指针,vb里面就没有,那类型库究竟是怎样解决这个问题的呢?
      

  8.   

    另外一点,类型库是不是必须的呀,就是开发一个com组件,必须要定义一个类型库文件?
      

  9.   

    有个子集,就是“自动化兼容的数据类型”,对vb6或其他脚本语言只能传这样的数据类型。对指针,只能传IDispatch接口的指针。因为IDispatch虚表(vtble)是公开且固定的,vb6的虚拟机找到IDispatch的虚表,
    偏移到Invoke函数。通过这个函数可以调用到所有IDispatch暴露的“函数”。
      

  10.   

    拿OLEView打开一个类型库文件看看就都明白了.