代码之家  ›  专栏  ›  技术社区  ›  magallanes

vb6:动态创建对象

  •  0
  • magallanes  · 技术社区  · 13 年前

    在vb6中,我可以:

    set object=new class
    

    其中object是一个对象,Class是在代码中定义的类。

    现在,我想动态地做同样的事情,我想做如下事情:

    set object=createobject("class")
    

    但它失败了,因为createobject显然是为activex注册的类而不是类模块。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Brendan    13 年前

    我希望您这样做的原因是模仿某种类似于接口的功能,否则这可能不是一个理想的解决方案。

    无论如何,您可以创建一个方法,根据您提供的字符串返回不同的类。

    function myClassCreatingFunction(className)
        select className
    
            case: "Class1"
                 set myClassCreatingFunction = new Class1
                 exit function
    
            ...
    
        end select
    end function
    
        2
  •  4
  •   Chris Phelps    13 年前

    如果在单独的VB6 OCX中对该类提出质疑,则可以使用createObject动态创建它们。