КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Dim objX As Object
Раннее и позднее связывание Dim objX As New clsEmployee Объявление и использование объектов End Sub Next cntrlItem For Each cntrlItem In colTextBoxes Dim cntrlltem As Control End Sub Next cntrlItem End If ColTextBoxes. Add cntrlItem For Each cntrlItem In Me.Controls Dim cntr1Item As Control ‘Цикл по всем элементам управления формы ' C помощью функции TypeName определяем тип объекта. Если ‘элемент управления -текстовое поле, добавляем его в коллекцию If TypeName(cntrlItem) = "TextBox" Then Либо вместо функции TypeName можно использовать конструкцию If TypeOf cntrlItem Is TextBox Then … Далее программный код удаляет весь введенный в форму текст, используя для этого коллекцию colTextBoxes. Sub cmdClear_Click() ' Переменная, используемая в цикле For Each ' для временного хранения указателя на элемент управления ' Очищаем каждое текстовое поле коллекции cntrlItem. Text = "" Разработав собственный класс, в программе можно создавать новые объекты, ссылаясь на имя модуля этого класса: Ключевое слово New вызывает образование нового экземпляра класса clsEmployee. При этом указатель на него будет помещен в объектную переменную objX. Но иногда создание объекта в программе требуется отложить, например, до наступления определенных условий. В этом случае ключевое слово New необходимо использовать в операторе Set: Dim objX As clsEmployee ' Позднее в программе... Set objX = New clsEmployee В этом фрагменте программного кода реальный экземпляр объекта создается только с помощью оператора Set. В первом же примере экземпляр объекта создается при первом обращении к методу или свойству объекта. Обращаясь к классу из другого загруженного проекта Visual Basic или библиотеки АсtiveX DLL, в название имени класса можно также включать имя проекта. Это единственный способ отличать классы с одним именем из различных проектов. Например, Proect1. clsMy и Proect2. clsMy -разные классы.
Все операторы объявления, рассмотренные ранее, использовали так называемый способ ранней привязки, то есть когда тип объекта явно определялся в программном коде. Однако существует также возможность поздней привязки, как например:
Set objX = CreateObject("MyObj. clsEmployee ")
Где MyObj – имя объекта-приложения; ClsEmployee – имя класса.
Наиболее часто метод CreateObject используется для создания ActiveX- объектов, хранящихся в отдельных файлах. В частности, можно создать новый объект Application следующим образом: Set objX = CreateObject ("Excel. Application ") Set MyApp = CreateObject("Access. Application ")
При поздней привязке используется функция CreateObject и строковый идентификатор, определяющий нужный объект. Недостаток поздней привязки состоит в том, что переменная objX объявляется как объект стандартного типа Object. Поэтому свойства и методы вновь созданного объекта нельзя просмотреть в броузере объектов, и, кроме того, не работает автозавершение ввода при наборе текста программы. Но иногда использование поздней привязки бывает достаточно удобным, поскольку оно позволяет изменять объект без перекомпиляции использующей его программы. Позднюю привязку можно реализовать и таким образом:
Дата добавления: 2014-12-10; Просмотров: 534; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |