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
我有不知道这是否是最好的办法,但目前我可以想到没有更好的办法。试一试。
小心名称空间在“代码”中通过全局变量或函数名称发生冲突。
不利的一面是,ASP会缓存解析/标记和其他“编译”的ASP页面。传递给Execute的任何代码需要在每次调用页面时进行解析和“编译”。 – AnthonyWJones 2009-07-20 21:10:49