СТАТЬЯ
16.01.01

Разработка ASP-компонентов в среде Microsoft Visual Basic 6

Cтатья также опубликована на сайте www.relib.com

Одна из наиболее мощных сторон технологии ASP - это способность использовать компоненты plug-in от стронних разработчиков, для того, чтобы сделать ваш ASP-сайт способным к выполнению большего количества функций. В этой статье и пойдет речь о разработке ActiveX-компонента, который вы сможете затем вызывать из вашего кода ASP.

В примере мы рассмотрим компонент, который будет возвращать случайную "Мысль дня". Для того, чтобы использовать его в ASP, мы создадим объект, вызовем метод, возвращающий фразу случайным образом и затем покажем ее посетителю, используя Response.Write.

Создание проекта Visual Basic

Чтобы начать работу над нашим проектом запустите Visual Basic и выберите создание "ActiveX DLL".

Рис.1. Выбор проекта "ActiveX DLL"

В ASP, всякий раз, когда мы используем Server.CreateObject, мы должны задать название объекта или "ProgID", поскольку это должным образом известно. Поэтому когда мы строим наш компонент, мы также должны задать нашему будущему объекту ProgID, который будет использоваться для вызова из ASP.

Посмотрите в Visual Basic Project Explorer (в верхнем правом углу вашего проекта). Сейчас он показывает, что вы имеете проект, называемый "Project1", который содержит единственный класс по имени "Class1". Выберите "Project1" и в окне Properties измените свойство "Name" на "MyComponent".

Теперь выберите "Class1" и измените его название на "Thoughts" ("Мысли").

Для создания ProgID Visual Basic комбинирует название проекта и класса, поэтому наш новый компонент имеет ProgID "MyComponent.Thoughts".

Методы и свойства

Давайте формировать метод, который возвратит "Мысль дня" вызывающему оператору:


Public Function GetThought() As String

    GetThought = "I am not a fish."

End Function

Мы используем ключевое слово "Public", что означает, что мы хотим сделать этот метод доступным для всех, кто захочет воспользоваться методом. Если вы вместо Public укажете Private, то обращение из ASP к методу GetThought() вызовет ошибку.

Проверка того, что мы уже сделали

Один из лучших путей избежания каких-либо проблем с Visual Basic - установка автоматического сохранения проекта перед выполнением. Чтобы задать эту опцию, выберите затем зайдите в меню "Tools-Options" и выберите закладку "Environment". Установите либо "Save Changes" (автоматически сохранять), либо "Prompt To Save Changes" (спросить о сохранении).

Рис.2. Настройка среды VB для автоматического сохранения проекта

Теперь, для тех, кто еще плохо представляет как использовать отладчик, коротко объясним основные функции его работы. Начнем с того, что щелкнем на сером поле слева от строки "GetThought =". Это называется "установкой точки останова (breakpoint)", что скажет VB сделать в этом месте остановку. Вы можете использовать эту метод, чтобы отлаживать ваши программы более эффективно. Пока же мы используем это, чтобы лучше показать вам как функционирует наше приложение.

Рис.3. Установка точки останова

Чтобы запустить проект - нажмите кнопку "Play" на панели инструментов или "горячую клавишу" F5.

Когда вы запустите проект Visual Basic спросит информацию, необходимую для отладки. Выберите "wait until components are created" и нажмите OK для запуска программы.

Рис.4. Окно свойств проекта

Запуск компонента

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


<HTML>

   <HEAD>

   </HEAD>

   <BODY>

      <%

         set object = Server.CreateObject("MyComponent.Thoughts")

         response.write object.GetThought

         set object = Nothing

      %>

   </BODY>

</HTML>

Сохраните страницу и выполните ее.

Отладчик Visual Basic остановится в точке останова, выберите в меню "View-Immediate Window" и введите:


?GetThought

Когда вы нажмете Enter VB возвратит значение переменной в GetThought.

Рис.5. Отладка проекта

Теперь нажмите F5 или кнопку "Play", чтобы продолжить выполнение приложения. В браузере вы также должны увидеть строку текста, которую вернул наш компонент.

Рис.6. Результат работы программы

Добавление свойств к компоненту

Добавим к нашему компоненту дополнительное свойство, которое будет разделять возвращаемые "мысли" на серьезные и забавные. Назовем его "AmusingComment" и создадим переменную, которая может содержать булево значение:


Private m_AmusingComment as Boolean

По-умолчанию, при создании объекта VB будет устанавливать это свойство в False, но если мы захотим по-умолчанию иметь True, то сделаем это следующим образом: создадим "конструктор" для нашего класса. Выберите "Class" в левом списке окна кода, затем в правом списке выберите "Initialize" и введите следующий код:

Рис.7. Конструктор класса

Теперь давайте определять свойства метода "Get".


Public Property Get AmusingComment() As Boolean

    AmusingComment = m_AmusingComment

End Property

Для того, чтобы мы могли изменить значение переменной из ASP, потребуется свойство "Let":

Public Property Let AmusingComment(newVal As Boolean)

    m_AmusingComment = newVal

End Property

Заключение

Вот, собственно, и все, что требовалось сделать для нашего компонента. Тема создания VB-компонентов для работы с ASP довольно обширна и будет еще неоднократно освещаться на страницах нашего сайта. Спасибо за внимание!

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Microsoft
Отправить ссылку на страницу по e-mail


Interface Ltd.

Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 16.01.01