2010-10-25 87 views
3

我有一个很奇怪的问题。首先,代码。VB6“无效的财产使用”错误代码似乎很好

Private Function ProcessRecord(ByVal rsDocs As ADODB.Recordset) As Variant 

    Dim rsTemp As ADODB.Recordset 
    rsTemp = rsDocs 
    rsDocs = RemoveDuplicateDocs(rsTemp) 

Exit Function 

错误发生在函数的第二行,其中rsTemp设置为等于rsDocs。它说:“编译错误:无效的财产使用”。我在其他地方查找了有关此错误的信息,并且所有报告都是人们忘记等号的情况,或者错误地将“Set”命令添加到代码行的开头。这个错误对我来说毫无意义,因为它之前编译得很好,而且我对这个项目所做的更改甚至在抛出错误的类中都没有。这里的代码与以前的方式相同。有没有人看到过这样的错误,似乎没有什么好的理由?谢谢!

回答

7

您需要使用

set rsTemp = rsDocs 

因为rsTemp是一个对象。

+0

好的,这似乎是解决这个问题,但任何想法为什么此代码会编译好吗?我非常困惑,因为几周前我对这段代码进行了更改,并且它没有使用“Set”就编译好了,而且我也没有更改那部分代码。 – 2010-10-25 20:10:41

+1

老实说,没有。这应该不是按原样编译的(尽管可能有一个编译器“开关”,我不知道这会让它通过)。 – 2010-10-25 20:11:52