各位兄台:    近些天工程需要,尝试在ASP页面中调用DLL。目前所做的一些尝试如下:    1、新建WIN32动态链接库工程,工程中插入一个新类,该类中封装了SOCKET,将该类__declspec(dllexport)倒出,VC测试工程中可正常使用,但ASP中可调用该DLL吗?我尝试
  dim Obj
  Set Obj = Server.CreateObject("工程名.封装SOCKET类名")//

  dim m_Socket
  m_Socket = Obj.CreateUDPSocket(6666),结果不行CreateUDPSocket是对象的属性或方法    2、新建了一个ATL COM,同样在其中插入新类,封装SOCKET,倒出后VC可正常调用。regsvr32 DLL地址,注册成功,但在ASP页面调用还是上面的问题    没在ASP中调用过DLL,是不是调用的DLL也要像ActiveX那样倒出属性和方法才行?从前倒是调用过OCX    恳请各位帮忙,或提供在ASP页面操作SOCKET思路也可以。谢谢了!

解决方案 »

  1.   

    ASP最好做成ActiveX形式的DLL,然后再调用对应的接口等
      

  2.   

    ASP与ActiveX控件交互实战
      

  3.   

    主要是开始没在ASP中调用过DLL,就直接封装成一般的DLL了,后来出现问题了,想看看这种方式到底可行不可行,如果不可行的话再换为ActiveX。先行谢过了, 我换为ActiveX 试下.不过记得ActiveX调用时需要根据注册ID来的,那是不是可以将某个ActiveX的注册ID在编写的时候就定下来呢?
      

  4.   

    每个ActiveX都有一个唯一的GUID,生成了以后,以后ASP就用这个GUID,你的ActiveX就不要再换了,注册时候注册控件就可以了
      

  5.   

    注册过了,第1种情况下的DLL是注册不了的,因为没有接口
      

  6.   

    1、如果没有窗口之类,就做成COM形式,如果有窗口,就做成ActiveX形式。
    2、要想使ASP能够调用,属性或方法的参数须为VARIANT参数。
    3、参考我设计的FcScript,有源代码。FcScript是由Forcal和MForcal支持的脚本控件,目前仅定义了VBScript接口,以后再增加其他接口。VBScript接口全部使用VARIANT参数。
       FcScript能正常手动安装(regsvr32)使用,但无法通过网页安装本控件,目前正在升级中。
      

  7.   

    改为ActiveX DLL 后今天应用到ASP页面当中调用成功,感谢各位的支持!还想问问:是不是ASP能调用的DLL都必须是ActiveX形式的?如果不是的话,之前我的问题出在哪里?