最近重装系统,原来的VB6也重装了,可是原来写的程序,里面的一些东西都编译不了了,提示如下错误:
compile error:
procedure declaration does not match,description of event or procedure having the same name.
然后 光标停在此段代码处:
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub
想了几天,也没想出原因,因为其他部分代码都没有问题,把这部分出错的代码注释掉,程序一样可以运行。
最后想起来,重装系统前,我的VB是打了SP6补丁的,后来重装系统还没打补丁,是不是这个原因呢?于是我就把SP6补丁打上,再一试,果然没有问题了!
最后上网查了一下,出现在这问题,是因为原来的DATA控件里面的成员函数定义变了,必须升级才能编译通过。
有时候重装编译环境,一定要恢复到重装前的版本,补丁都要打上,不然就可能会出现这样让人搞不清楚的错误!