最近在玩vb6的mvc模式。如果这个能实现的话,那就爽啦!
例如
伪代码:VB6
Class CSample
 Property AAAA As String
 Property BBBB As String
End ClassSet CSample sample = New CSample
例如可以有GetClassMember(sample, vbProperty)
返回String()里有"AAAA","BBBB"
类似。

解决方案 »

  1.   

      Dim TLIApp     As Object
      Dim TLBInfo     As Object
      Dim TypeInf     As Object
      Set TLIApp = CreateObject("TLI.TLIApplication")
        
      Set TLBInfo = TLIApp.TypeLibInfoFromFile("xxx.dll")
      Dim i As Integer
      Dim j As Integer
      For Each TypeInf In TLBInfo.CoClasses        Debug.Print TypeInf.Name
            For i = 1 To TypeInf.Interfaces.Count
                Debug.Print vbTab & TypeInf.Interfaces(i).Name
                For j = 1 To TypeInf.Interfaces(i).Members.Count
                    Debug.Print vbTab & vbTab & TypeInf.Interfaces(i).Members(j).Name
                Next
            Next
      Next
      

  2.   

    谢谢楼上的。
    这个方法貌似实现的是编译以后的dll类库里的,能否给一个实现vb工程里自己的类模块里的呢?关于mvc这样的东西,我个人感觉只要语言实现了反射,就应该能用了。
    vb玩了也10+年了,现在才深入挖掘,感觉前面都不知道在做什么。……
      

  3.   

    没有反射一样做MVC,没有OOP也一样做,理论上任何程序都可以用汇编语言表达,甚至用逻辑表达式表达。http://topic.csdn.net/u/20090825/23/04575043-88c2-443a-8b4c-9fc46b2f83aa.html
    这是我关于VB的一点讨论,欢迎指教。
      

  4.   

    我也觉得caozhy有些悲观了。玩具也好,先进也好。只要是能出产品的,赚到钱,客户才不管你是什么东西实现的。
    不过还是谢谢你。
      

  5.   

    呃,突然发现一个项目里的Class还是不能获得,有其他方法吗?
      

  6.   

    是不是私有的。
    理论上可以使用 IKnown 接口查询方法。
    用Object Explorer能看到么?
      

  7.   

    具体可以说说IKnown查询的方法吗?