VB6: создать объект динамически - PullRequest
0 голосов
/ 15 ноября 2010

В vb6 я могу сделать:

set object=new class

, где объект - это объект, а класс - это класс, определенный в коде.

Теперь я хочу сделать то же самое динамически,Я хочу сделать что-то вроде:

set object=createobject("class")

, но это не удалось, потому что createobject, очевидно, для зарегистрированных классов ActiveX, а не модулей классов.

Ответы [ 2 ]

4 голосов
/ 15 ноября 2010

Если вы поместите рассматриваемый класс в отдельный VB6 OCX, вы сможете использовать createObject для их создания на лету.

3 голосов
/ 15 ноября 2010

Я надеюсь, что причина, по которой вы хотите это сделать, состоит в том, чтобы имитировать какую-то интерфейсоподобную функциональность, иначе это, вероятно, не идеальное решение.

В любом случае, вы могли бы создать метод, который возвращает другой классв зависимости от строки, которую вы предоставляете.

function myClassCreatingFunction(className)
    select className

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

        ...

    end select
end function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...