回 帖 发 新 帖 刷新版面

主题:求助——能够执行的vb 6.0工程生成exe文件时出了问题

无论是“文件->生成xx.exe”还是“运行->全编译执行”结果都是弹出提示“编译错误,当前范围内的声明重复”,这是什么原因?(点击“运行->启动”可以正常运行)

回复列表 (共4个回复)

沙发

找Dim 开头的地方,看看一个过程内是不是重复的声明了一个变量

当VB在调试阶段运行时不会对程序进行彻底的错误检查,但是在编译时将会检查

板凳

出现问题的过程如下:
Public Function FirstFilter(ByVal rstSource As ADODB.Recordset, ByVal varFilter As Variant) As ADODB.Recordset
    'Applies a filter to a recordset and removes the value of the Filter property of the recordset
    
    
    Dim FirstFilter As ADODB.Recordset    '这就是报错的一行
    Dim rsFiltered As New ADODB.Recordset
    Dim objSm As New Stream


    ' apply a filter
    If (rstSource.Filter = 0) Then
        
        rstSource.Filter = varFilter
        
        ' Save the recordset to a stream object in XML format
        rstSource.Save objSm, adPersistXML

    Else
    
        ' Save the recordset to a stream object in XML format
        rstSource.Save objSm, adPersistXML
        
        Set FirstFilter = New ADODB.Recordset
        
        FirstFilter.Open objSm
        
        FirstFilter.Filter = varFilter
        
        FirstFilter.Save objSm, adPersistXML
        
            
        FirstFilter.Close
        Set FirstFilter = Nothing
    
    End If
    
    
    rsFiltered.Open objSm
    
    
    objSm.Close
    Set objSm = Nothing
    
    
    Set FirstFilter = rsFiltered
    
    
End Function
请问在哪里重复声明了呢?

3 楼

Public Function FirstFilter(....) As ADODB.Recordset    '这里有了
'Dim FirstFilter As ADODB.Recordset 这句删除

4 楼

原来不能声明和过程同名的变量,我懂了

我来回复

您尚未登录,请登录后再回复。点此登录或注册