无法创建ActiveX对象

时间:2013-10-15 04:11:10

标签: asp-classic payment-gateway

我正在为我的网站使用第三方支付网关。

客户填写金额详细信息和联系人详细信息后,页面将重定向到其他.asp页面。

在那个asp页面中,我写了下面的代码。

    Dim pipe

    Set pipe = Server.CreateObject("e24PaymentPipe.e24PaymentPipe.1")


    pipe.ResourcePath=resourcePath  'mandatory 
    pipe.Alias=aliasName            'mandatory 
    pipe.Action=action              'mandatory 
    pipe.ResponseURL=receiptURL     'mandatory 
    pipe.ErrorURL=errorURL      'mandatory 
    pipe.Amt=amount                 'mandatory 

    pipe.Currency=curr
    pipe.Language=language
    pipe.TrackId=trackId

    pipe.Udf1=donateamt
    pipe.Udf2=email
    pipe.Udf3=phone
    pipe.Udf4=baddress
    pipe.Udf5=fname

但我只在第2行遇到错误。 错误说,无法创建Activex对象。

我已成功注册e24paymentpipe.dll,但我仍然收到错误。

任何人都可以帮助我..?

2 个答案:

答案 0 :(得分:13)

终于找到了答案。 我确实注册了两个dll(e24payment.dll和e24pipe.dll)。 并检查应用程序池。

在应用程序池中,转到“高级”设置并检查“启用32位应用程序”是否设置为false,就是这样。

它就像一个魅力。

答案 1 :(得分:2)

IIS 10,缺少32位'adrot.dll'的示例,在ASP Classic中使用。

这种方法可以应用于另一个“旧的”32位dll-s。

  1. 打开Windows XP的安装CD(或DVD,ISO等)。
  2. 请确保,该文件夹'X:\ i386'('X'是驱动器号) 包含文件'adrot.dl_',其中 'dl_'表示此文件已压缩'dll'。
  3. 以管理员身份打开 CMD
  4. 将'adrot.dl_'展开(解压缩)到'adrot.dll' CMD中的命令:

    <强> X:\ i386的&GT;展开ADROT.DL_ D:\ ADROT.DLL

  5. 将ADROT.DLL复制/剪切到C:\ Windows \ SysWOW64, 因为ADROT.DLL是32位组件,必须在'SysWOW64'中。

  6. 在CMD中导航到C:\ Windows \ SysWOW64并注册dll:

    C:\ Windows \ SysWOW64&gt; regsvr32 adrot.dll

  7. IIS 中,从左侧窗格(“连接”),打开(双击)“应用程序池”

  8. 找到应用程序池(按“名称”列)。
  9. 右键单击应用程序池的名称,然后打开“高级设置”。
  10. 在“高级设置”中,将“启用32位应用程序”设置为“ true ”。