Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по программированию. Visual C++, MFC, VB, ActiveX


Служба Рассылок Subscribe.Ru

Visual Basic. ActiveX. Уроки по программированию с сайта http://alexeev.nm.ru

Рассылка №25

Visual Basic. ActiveX. Урок 24. Другие типы ActiveX'ов.
Visual Basic. ActiveX. Урок 25. Начинаем делать ActiveX DLL.
Visual Basic. ActiveX. Урок 26. Добавляем свойство и метод к ActiveX DLL.
Visual Basic. ActiveX. Урок 27. Испытываем ActiveX DLL.

Полные версии уроков (с картинками) можно найти по адресам
Урок 24. Другие типы ActiveX'ов.
Урок 25. Начинаем делать ActiveX DLL.
Урок 26. Добавляем свойство и метод к ActiveX DLL.
Урок 27. Испытываем ActiveX DLL.

Visual Basic. ActiveX. Урок 24. Другие типы ActiveX'ов

В предыдущих уроках мы с вами смотрели, как делать ActiveX-элементы. Их отличительная особенность в том, что они всегда должны существовать в некотором контейнере. Другая их особенность - они чаще всего видимы (имеют видимый интерфейс). Правда, их можно сделать невидимыми на этапе запуска программы (типа элемента таймер в VB), но они будут видимы по крайней мере на этапе разработки прогрммы.

Наряду с таким типом элементов ActiveX существуют и другие типы - ActiveX EXE и AxtiveX DLL. При их создании вы выбираете соответствующие иконки в окне New Project.

Они уже работают несколько по-другому. Для них не нужен контейнер. Внутри них могут содержаться свойства и методы. Другие программы могут создавать экземпляры ActiveX EXE или ActiveX DLL и, разумеется, могут их использовать - читать и изменять свойства, вызывать методы.

Отличие между ActiveX EXE и ActiveX DLL следующее - первые существуют в своем адресном пространстве, а вторые - внедряются в адресное пространство вызвавшей их программы. Это самое главное отличие меду ними. Из этого есть несколько следствий - например, ActiveX DLL работают быстрее ActiveX EXE. Есть и другие различия, которые мы будем рассматривать в наших уроках.

Еще два типа для ActiveX'ов - это ActiveX Document EXE и ActiveX Document DLL. Для их создания выбираем соответствующие иконки в диалоговом окне New. Что это такое и как это делать мы тоже посмотрим (но не в ближайших уроках).

Наверх

Visual Basic. ActiveX. Урок 25. Начинаем делать ActiveX DLL

Несколько ближайших уроков мы с вами посвятим созданию ActiveX DLL. Создайте пустой проект (типа ActiveX DLL, естественно). Нажимаем на Open. Обратите внимание, что в Project Explorere'е у вас уже существует пустой класс Class1. Переименуйте его в окне свойств на CMyClass (для этого его надо предварительно выделить в Project Explorere'е). Измените также и имя нашего проекта с безликого Project1 на MyFirstDLL.

Давайте теперь наш ActiveX DLL скомпилируем. Делаем как всегда - меню File, далее выбираем Make что-то там. В появившемся окне Make Project выберите нужную папку. Обратите внимание, что расширение для откомпилированного ActiveX DLL - это *.dll, а не *.ocx, как было у ActiveX элементов.

Нажимаем на OK и переходим к следующему уроку.

Наверх

Visual Basic. ActiveX. Урок 26. Добавляем свойство и метод к ActiveX DLL

Давайте добавим к нашему ActiveX DLL свойство MyString. В нем будет храниться некоторая строка. Никакого особенного смысла в этой строке нет - мы просто смотрим, как можно добавлять свойства для нашего ActiveX DLL.

Для этого добавьте следующий код:

Option Explicit
Private m_strMyString As String
Public Property Get MyString() As String
  MyString = m_strMyString
End Property
Public Property Let MyString(NewString As String)
  m_strMyString = NewString
End Property

Обратите внимание, что переменную m_strMyString мы объявили как Private. Это для того, чтобы к ней не было доступа извне. Досту возможен только через специальные методы класса - Property Get имя_свойства и Property Let имя_свойства. Они идут парами - одно для чтения и другое для записи. имя_свойства (в нашем примере это MyString) - это то имя, под которым наше свойство будет видно снаружи. Имя же m_strMyString никто снаружи не увидит.

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

Public Sub SetString(NewString As String)
  m_strMyString = NewString
End Sub

Откомпилируйте наш ActiveX DLL и переходите к следующему уроку.

Наверх

Visual Basic. ActiveX. Урок 27. Испытываем ActiveX DLL

Ддя испытания созданного нами ActiveX DLL создайте простой проект типа Standard EXE и добавьте на его форму простую кнопку. Далее заходим в меню Project и выбираем пункт References. Пользуясь кнопкой Browse, найдите откомпилированный на прошлом уроке файл, выделите его, нажмите на Open и на OK для закрытия окна References. Добавьте следующий код:

Option Explicit
Dim MyObject As New CMyClass
Private Sub Command1_Click()
  'Устнавливаем значение свойства
  MyObject.SetString "Привет из ActiveX DLL"
  'Вызываем метод
  MsgBox MyObject.MyString
End Sub

Обратите внимание, что после точки у вас будет появлятся подсказка с нашими свойствами и методами.

Запускаем, нажимаем на кнопку. В результате появится MessageBox с соответствующей надписью.

Т. е. нашей тестовой программе удалось подсоединится к серверу ActiveX DLL.

Наверх

Copyright Алексеев Игорь, 2002

Copyright cайт alexeev.nm.ru, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное