我以前做过一段时间VB开发
现在在学习SDK时写DLL有些疑问
VB写的DLL为ACTIVEX DLL SDK写的纯DLL应该不同
当使用ACTIVEX DLL之前  需要使用REGSVR32程序进行注册表注册
而SDK写的就不需要了
只要在代码中LOADLIBRARY 就可以调用了
但实际上我了解到REGSVR32 其实这个程序内部也是使用了LOADLIBRARY 这个API进行注册的
我曾经使用REGSVR32 注册 SDK的纯DLL
它会报  入口没找到什么 的
我想和大家讨论一下  
1)到底 ACTIVEX DLL和SDK写的DLL有什么不同
2)REGSVR32到底做了那些动作(我只知道在注册表中生成CLASSID)
3)为什么使用REGSVR32 注册 SDK的纯DLL会有问题
顺便说一下  ACTIVEX DLL支持面向对象
好象SDK纯DLL只是过程级别的
最后恳切希望有能力的前辈 来说说体会
谢谢

解决方案 »

  1.   

    activex也是普通的dll,只不过他导出了4个函数,其中一个是dllregsiterserver。
    regsvr32处理dll时候会查找这个函数并且调用他。
    activex用的是com的技术,sdk的dll就是导出几个函数而已。手工完成一个activex需要很多代码,而一个普通dll几行代码就搞定了。
      

  2.   

    activex 和 DLL 虽说都是模块,但是有区别的,activex是控件,它跟dll的接口是不一样的。