Asp classic ASP选项显式-Paypal Express签出问题

Asp classic ASP选项显式-Paypal Express签出问题,asp-classic,vbscript,paypal,option-explicit,Asp Classic,Vbscript,Paypal,Option Explicit,在经典ASP中集成PayPal Express Checkout时,我面临一个大问题 在没有显式选项的情况下运行时,PayPal在“”处提供的代码可以完美工作 当我输入编码页面并调用提供的函数时,我面临着一个大问题:我现有的页面都使用选项Explicit 这导致我不得不手动声明PayPal函数中的所有变量 示例PayPal函数由许多数组/列表/对象/索引组成,用于设置调用PayPal站点所需的名称/值对。这是完全不容易的,我要改变它的所有正确的声明,因为我不是ASP专家和项目的最后期限很紧 有人

在经典ASP中集成PayPal Express Checkout时,我面临一个大问题

在没有显式
选项的情况下运行时,PayPal在“”处提供的代码可以完美工作

当我输入编码页面并调用提供的函数时,我面临着一个大问题:我现有的页面都使用
选项Explicit

这导致我不得不手动声明PayPal函数中的所有变量

示例PayPal函数由许多数组/列表/对象/索引组成,用于设置调用PayPal站点所需的名称/值对。这是完全不容易的,我要改变它的所有正确的声明,因为我不是ASP专家和项目的最后期限很紧


有人能给我一些建议吗?

似乎可以通过
执行
语句将“
选项显式
”-代码与非“
选项显式
”-代码混合使用

下面是我刚刚用VBScript做的一个小测试(它也适用于经典ASP):

结果:

Message 1: (equal to the contents of vb2.vbs)
Message 2: 200
我不知道这是否是最好的方法,但目前我想不出更好的方法。试试看


当心“其代码”中的全局变量或函数名引起的名称空间冲突。

缺点是ASP将缓存已解析/标记化的或以其他方式“编译”的ASP页面。然而,每次调用页面时,都需要对传递给执行的任何代码进行分析和“编译”。将您自己的大部分代码放在一个类中,从而显著减少代码在全局级别创建的标识符集,可以减轻命名空间冲突风险。@AnthonyWJones:+1对于您的两条注释,您的回答是对的。另一方面,我认为解析/编译业务花费的时间可以忽略不计,因为它发生在线程中。执行请求的脚本引擎已经加载,PayPal代码将非常简单,可以在毫秒内使用。没什么我会担心的。
''# 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