请高手给说说,给个资料也行,越底层越好

解决方案 »

  1.   

    http://topic.csdn.net/u/20080602/10/0b41a25c-513d-4abd-bc24-8278d544841d.html
      

  2.   

    因为你调用组件就得知道它在什么位置。找到正确的位置通常有两种方法:直接给出路径或者通过注册机构,就像你要找到某个人,要么直接去找他的住址,要么通过档案室去查。直接找当然概念简单,对单个组件也方便,但组件多了就不好管理了,通过注册表这样一个统一的入口,可以方便查找,而且多了一个间接层,可以带来避免“Dll Hell”的side effect。另外,注册机制(非特指注册表)在很多软件技术上都有应用(CORBA,Web Service等),不单单是COM组件了。
      

  3.   

    谢谢你的回复!
    另外,当我注册了一个dll后,为什么移动了dll的在磁盘上的位置,程序仍能正常运行呢?
      

  4.   

    COM的dll注册了,移动到别的目录下。
    你使用这个COM的程序还能正常使用,这太离谱了吧!推荐你看的书:COM技术内幕
      

  5.   

    COM的dll注册了,移动到别的目录下。
    你使用这个COM的程序还能正常使用,这太离谱了吧!推荐你看的书:COM技术内幕
      

  6.   

    >>谢谢你的回复!
    >>另外,当我注册了一个dll后,为什么移动了dll的在磁盘上的位置,程序仍能正常运行呢?
    有很多可能:
    1,在有reg-free的COM组件,他的注册信息不是放在注册表内,而是放在组件同目录下。这样位置可以移动。
    2,主程序每次启动都主动注册相关COM组件,这样位置也可移动。