Явная опция ASP - проблема Paypal Express Checkout - PullRequest
3 голосов
/ 20 июля 2009

У меня большие проблемы при интеграции PayPal Express Checkout в классический ASP.

Код, предоставленный PayPal в « Мастер интеграции PayPal », отлично работает при запуске без Option Explicit.

Когда я помещаю свои страницы кодирования и вызываю предоставленные функции, я сталкиваюсь с большой проблемой: все мои существующие страницы используют Option Explicit.

Это приводит к тому, что мне приходится вручную объявлять все переменные в функциях PayPal.

Примеры функций PayPal состоят из множества массивов / списков / объектов / индексов для настройки пар имя / значение, необходимых для вызова сайта PayPal. Мне совершенно непросто заменить его на все правильные декларации, поскольку я не являюсь экспертом ASP и срок выполнения проекта жесткий.

Может кто-нибудь дать мне совет?

1 Ответ

3 голосов
/ 20 июля 2009

Кажется возможным смешать код "Option Explicit" с кодом, отличным от "Option Explicit", с помощью оператора Execute.

Вот небольшой тест, который я только что сделал с VBScript (который также применим к классическому ASP):

''#vb1.vbs (i.e. "your code")
Option Explicit

Dim fso, vb2, txt
Set fso = CreateObject("Scripting.FileSystemObject")
Set vb2 = fso.OpenTextFile("vb2.vbs", 1)
txt = vb2.ReadAll

MsgBox txt    ''# Message 1
Execute txt

MsgBox foo    ''# Message 2

и

''# vb2.vbs (i.e. "their code")
j = 100

Function foo
  k = 100
  foo = j + k
End Function

Результаты:

Message 1: (equal to the contents of vb2.vbs)
Message 2: 200

Я понятия не имею, является ли это лучшим способом сделать это, но в настоящее время я не могу придумать лучшего способа. Попробуйте.

Остерегайтесь столкновений пространства имен через глобальные переменные или имена функций в «их коде».

...