错误类型:Microsoft VBScript运行时(0x800A01A8)asp中需要的对象

时间:2015-05-30 06:35:51

标签: vbscript asp-classic

我是新的asp ..

并尝试使用code

进行访问

但是它显示了这样的错误。,

  

错误类型:   Microsoft VBScript运行时(0x800A01A8)   需要的对象:''   在第163行

错误显示是因为这行,

<%
do while not getgroups2.eof 
    pkOrgGroups2=getgroups2("pkOrgGroups")
    ogGroup2=getgroups2("ogGroup")
    ogLogo2 =getgroups2("ogLogo")
%> 

我可以知道我的代码显示的原因是什么?

提前致谢。

1 个答案:

答案 0 :(得分:3)

有两种可靠的方法可以获得“需要对象”错误:

在分配非对象时尝试使用>> Set x = "non-object/string" >> Error Number: 424 Error Description: Object required

>> WScript.Echo TypeName(x)
>> If x.eof Then x = "whatever"
>>
Empty
Error Number:       424
Error Description:  Object required

尝试在非对象上调用方法:

>> x = "nix"
>> WScript.Echo TypeName(x)
>> If x.eof Then x = "whatever"
>>
String
Error Number:       424
Error Description:  Object required

或:

Set

由于您发布的代码中没有getgroups2,因此必须假设class Money { private $amount; public function add($amount) { $this->amount += $amount; } public function remove($amount) { $this->amount -= $amount; } public function getAmount() { return $this->amount; } } class Wallet { private $money; // An Object public function __construct(Money $money) { $this->money = $money; } public function addMoney($amount) { $this->money->add($amount); } public function removeMoney($amount) { $this->money->remove($amount); } public function getMoney() { return $this->money->getAmount(); } } $money = new Money(); $wallet = new Wallet($money); $wallet->addMoney(50); echo $wallet->getMoney(); // displays 50 $wallet->removeMoney(20); echo '<br>' . $wallet->getMoney(); // displays 30 不是对象。使用TypeName()进行检查。