Visual Basic 6. Руководство разработчика

       

Создание объектных переменных


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

1. Объявление объектной переменной с ключевым словом New.

Private objectVar As New objectType

2. Объявление объектной переменной с последующим присваиванием ей объекта, который необходимо использовать:

Private objectVar As objectType

Set objectVar = New objectType

Оба метода требуют, чтобы Visual Basic знал тип объекта.

Можно ожидать, что Visual Basic знает о формах, элементах управления и других типах встроенных объектов, но что можно сказать об объектах, созданных разработчиком? Так как Visual Basic ничего не знает об вновь созданном объекте, необходимо обеспечить доступ проекта к объекту посредством добавления в него ссылки на этот объект. Например, если нужно добавить к проекту класс CTimer, откройте меню Project и выберите References. В появившемся диалоговом окне References найдите объект, на который нужно сослаться в коде, и нажмите ОК.

Если после добавления в проект новой ссылки открыть окно Object Browser, можно увидеть список Type Library (Библиотеку типов) с только что добавленным объектом. Выберите его в списке Type Library для просмотра классов, которые он предоставляет. Проект CTimer предоставляет один класс - CTimer. Щелкните на его имени для просмотра его членов.

Итак, пока к проекту не добавлена ссылка на определенный объект, невоз­можно объявить переменную этого типа. Существует третий метод объявления объектных переменных - функция Create0bject(), которая требует предоставления имен приложения и класса. Сначала объявите объектную переменную, а затем присвойте ей экземпляр объекта:

Private TMR As Object

Set TMR = CreateObject ("TimerProject.CTimer")

Оператор Set обычно помещается в событии Form_Load или в процедуре, которой необходим доступ к объекту. Можно заменить объявление объектной переменной TMR в тестовом приложении на способ, использующий функцию CreateObject. Остальная часть программного кода останется прежней.



Содержание раздела