对于active dll,我一直挺郁闷的,因为我发现在我的程序中调用我自己写的dll,当dll做出修改注册后,即使应用程序所调用的类和接口函数都没有修改,应用程序也没法运行,而是要重新编译后才可以。这样当dll比较多时,相互的调用也比较复杂时,当其中一个做出修改后,所有的dll和应用程序都要重新编译。active dll究竟是怎样被程序调用的?写成dll还有什么优势?com组件不应该是这样的啊?还不如标准的dll?

解决方案 »

  1.   

    ActiveX Dll是进程内组件!
    记得你要把ActiveX Dll的工程属性修改一下,这个在MSDN中有说明,好像是工程属性中的,工程兼容性那里修改一下二进制兼容!
    就是因为你修改后,Dll的ID号变了,所以就得重新引用.
      

  2.   

    谢谢楼上的指点。我还有一个问题,用vb时发现有些对象定义时一定要用new才可以使用,而有些却用不用new都可以,具体该怎么区分?还有就是我如果要回收对象的空间是不是只要把对象设置为nothing就可以了,如ADO
      

  3.   

    的数据库连接对象,是不要先close掉,还是直接设置为nothing就可以回收空间了?
      

  4.   

    1.所有對象都必須實例化後(new)才能使用
    2.Yes!
      

  5.   

    的数据库连接对象,是不要先close掉,还是直接设置为nothing就可以回收空间了?Close是放掉对数据库的连接!
    Nothing是释放掉内存!