» Главная
eXcode.ru » Статьи » VB / VBA
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 7





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





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

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

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

Чтобы начать работу над нашим проектом запустите Visual Basic и выберите создание "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" (спросить о сохранении).
Теперь, для тех, кто еще плохо представляет как использовать отладчик, коротко объясним основные функции его работы. Начнем с того, что щелкнем на сером поле слева от строки "GetThought =". Это называется "установкой точки останова (breakpoint)", что скажет VB сделать в этом месте остановку. Вы можете использовать эту метод, чтобы отлаживать ваши программы более эффективно. Пока же мы используем это, чтобы лучше показать вам как функционирует наше приложение.
Чтобы запустить проект - нажмите кнопку "Play" на панели инструментов или "горячую клавишу" F5.

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

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





<%
set object = Server.CreateObject("MyComponent.Thoughts")
response.write object.GetThought
set object = Nothing
%>



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

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

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

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

Private m_AmusingComment as Boolean
По-умолчанию, при создании объекта VB будет устанавливать это свойство в False, но если мы захотим по-умолчанию иметь True, то сделаем это следующим образом: создадим "конструктор" для нашего класса. Выберите "Class" в левом списке окна кода, затем в правом списке выберите "Initialize" и введите следующий код:
Теперь давайте определять свойства метода "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 довольно обширна и будет еще неоднократно освещаться на страницах нашего сайта. Спасибо за внимание!

[По материалам ASPWatch]
К началу статьи





Добавил: MadvEXДата публикации: 2007-04-13 18:43:30
Рейтинг статьи:3.78 [Голосов 9]Кол-во просмотров: 14415

Комментарии читателей

Всего комментариев: 2

2013-05-09 03:01:02
mobims_ru
Программы Игры и приложения для компьютера и мобильных устройств.! Заходите на <a href=http://softjob.ru/>Программы, игры, утилиты - SoftJob.ru</a>.

2013-05-09 02:54:43
mobims_ru
Игры Игры и приложения для компьютера и мобильных устройств.! Заходите на <a href=http://softjob.ru/>Программы, игры, утилиты - SoftJob.ru</a>.
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Каким способом вы подключены к интернету
Dial-Up
26% (59)
ISDN
1% (2)
Выделенная линия
27% (61)
ADSL
32% (71)
Спутниковый интернет
2% (5)
GPRS-интернет
8% (17)
Другое
4% (9)

Проголосовало: 224
Идет пьянка у программера, вдруг он "срывается с катушек", начинает буйствовать, приставать к окружающим и т.д. Тут же жена берет скалку и как даст ему по башке. Программер, понятное дело, отключается. Подруга удивленно спрашивает:
- Ты что его так?
- Перезагрузится - успокоится.
Рейтинг: 6/10 (3)
Посмотреть все анекдоты