ASP Option Explicit - PayPal Express Checkout麻烦

问题描述:

在经典ASP中集成PayPal Express Checkout时,我面临很大麻烦。ASP Option Explicit - PayPal Express Checkout麻烦

PayPal在“PayPal Integration Wizard”上提供的代码在没有Option Explicit的情况下运行时效果很好。

当我进入我的编码页面并调用所提供的功能时,我面临很大的麻烦:我现有的页面全部使用Option Explicit

这导致我不得不手动声明贝宝功能中的所有变量。

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

任何人都可以给我一些建议吗?

似乎有可能通过Execute声明混合“Option Explicit”代码与非“Option Explicit”代码。

这里有一个小的测试我只是使用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 

我有不知道这是否是最好的办法,但目前我可以想到没有更好的办法。试一试。

小心名称空间在“代码”中通过全局变量或函数名称发生冲突。

+1

不利的一面是,ASP会缓存解析/标记和其他“编译”的ASP页面。传递给Execute的任何代码需要在每次调用页面时进行解析和“编译”。 – AnthonyWJones 2009-07-20 21:10:49