2013-10-15 5 views
4

Я использую сторонний платежный шлюз для своего сайта.Невозможно создать объект ActiveX

После того, как клиент заполнит деталь подробно и подробно о контакте, страница будет перенаправлена ​​на другую страницу .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, но все же я получаю ошибку.

Может ли кто-нибудь помочь мне ..?

+0

посмотреть в реестре HKEY_CLASSES_ROOT - найти, если есть e24PaymentPipe.e24PaymentPipe, проверить, что CLSID связано и найти этот CLSID - проверить, что это указывает на надлежащую DLL –

+0

Что в журналах окон? Вам нужно проверить там, есть ли еще какие-либо диагностические данные, относящиеся к сбою. Лично первое, что я хотел бы сделать, это попытаться посмотреть, могу ли я выполнить код вручную в vbscript (используя cscript.exe), а затем попытаться выяснить, почему сервер COM не создает экземпляр. –

+1

На каком сервере вы работаете? Работает ли IIS 32-разрядный режим? Вы зарегистрировали компонент в 32-битном или 64-битном? – AardVark71

ответ

12

Наконец-то нашел свой ответ. Я зарегистрировал обе библиотеки dll (e24payment.dll и e24pipe.dll). А также проверить пул приложений.

В пуле приложений перейдите в раздел «Дополнительные настройки» и установите флажок «Включить 32-разрядное приложение» равным «false» и все.

Он работал как шарм.

+2

Ничего себе, мне жаль, что я не нашел это сообщение намного раньше! Хотя в моем случае установка «Включить 32-битные приложения» уже была установлена ​​в значение «ложь», и мне нужно было установить ее в true. –

+0

То же самое здесь, я переключил его с 32-битного на 64-битный, и он сработал – Lareau

+3

Weird ... У меня была эта проблема, и мне просто пришлось сменить ее на True (напротив вашего совета), и мое приложение теперь отлично работает :) – ClarkeyBoy

Смежные вопросы