vb6:动态创建对象

发布于 2024-10-02 18:35:38 字数 256 浏览 3 评论 0原文

在vb6中,我可以这样做:

set object=new class

其中object是一个Object,Class是代码中定义的类。

现在,我想动态地做同样的事情,我想做类似的事情:

set object=createobject("class")

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

In vb6, i can do :

set object=new class

where object is a Object and Class is a class defined in the code.

Now, i want to do the same dynamically, i want to do something like:

set object=createobject("class")

but it fail because createobject is apparently for activex registered class and not class modules.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

窝囊感情。 2024-10-09 18:35:38

如果您将相关类放入单独的 VB6 OCX 中,您将能够使用 createObject 即时创建它们。

If you put the class in question in a separate VB6 OCX, you will be able to use createObject to create them on-the-fly.

高速公鹿 2024-10-09 18:35:38

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

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

function myClassCreatingFunction(className)
    select className

        case: "Class1"
             set myClassCreatingFunction = new Class1
             exit function

        ...

    end select
end function

I hope the reason you want to do this is to mimic some sort of interface-like functionality, otherwise it's probably not an ideal solution.

Anyway, you could create a method that gives back a different class depending on the string you provide.

function myClassCreatingFunction(className)
    select className

        case: "Class1"
             set myClassCreatingFunction = new Class1
             exit function

        ...

    end select
end function
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文