Private Sub ListDyeKinds()    Dim objDyeKind As ScglCli.DyeKind
    lvwListView.ListItems.Clear
    lblTitle(1) = vbNullString
    staStatusBar.Panels("Msg") = vbNullString
    If gobjUser.Admin = False And gobjUser.FindAuth("DyeKind_View") = False Then
        staStatusBar.Panels("Msg") = "没有权限。"
        Exit Sub
    End If
    If gobjAdmin.DyeKinds.Count > 0 Then
        prg.Value = 0
        prg.Max = gobjAdmin.DyeKinds.Count
        prg.Visible = True
        For Each objDyeKind In gobjAdmin.DyeKinds  ***运行到这一句就提示“实时错误438,对象不支持该属性或方法”
            prg.Value = prg.Value + 1
             ListDyeKind objDyeKind
        Next
        Set objDyeKind = Nothing
        prg.Visible = False
    End IfEnd Sub 
=================================================================================
其中DYEKIND和DYEKINDS在别处有模块进行了定义,我查错应该如何进行?

解决方案 »

  1.   

    应该是DyeKinds不支持for each,你试试将For Each换成
    for i=0 to gobjAdmin.DyeKinds.Count
        prg.Value =prg.Value+1
        ListDyeKind gobjAdmin.DyeKinds(i)
    Next
      

  2.   

    ScglCli.DyeKind是个什么?代码写得太奇怪了如果自己的class别人是无法帮你查看问题的
      

  3.   

    可能出现的是兼容性错误,请检查
    Dim objDyeKind As ScglCli.DyeKind
    和gobjAdmin.DyeKinds中引用的ScglCli版本是否一致
      

  4.   

    Dim objDyeKind As ScglCli.DyeKind
    ---> Dim objDyeKind As NEW ScglCli.DyeKind
      

  5.   

    确实是自定义的模块,包挌dyekind,dyekinds,我也不知道怎么会这样,其实这个问题的出现是由于我现在需要在数据库中加一个表,表结构和另一个表的结构一样,只是名称不同,我现在就将程序中对那个表的所有管理模块再制了一份,更改了其模块名称和相关字段的名称,意图用于对新加表的管理,现在出现了以上问题