Использование динамической библиотеки ActiveX
Использование динамической библиотеки ActiveX
В этом упражнении Вы создадите динамическую библиотеку на Visual Basic, а затем воспользуетесь ею для создания объекта в Microsoft Access.
> Создание DLL на Visual Basic
- Создайте в Visual Basic новый проект типа ActiveX DLL.
- Присвойте ему имя SampleDLL.
- В разделе General Declarations модуля Class1 введите следующий код:
Private UserName As String
Private strMessage As String
Public Sub SayHello()
MsgBox "Привет " & UserName & "!"
End Sub
Public Property Let Name(Name As String)
UserName = Name
End Property
Public Property Get Message()
strMessage = "Привет из DLL".
Message = strMessage
End Property
- Запустите приложение.
Примечание. Обычно перед вызовом библиотеку нужно зарегистрировать. Оставив же ее выполняться (в среде Visual Basic), Вы сможете протестировать ее без регистрации, поскольку она уже загружена.
> Использование DLL из другого приложения
- Запустите Microsoft Access, установите в первом окне переключатель Blank Database и щелкните ОК.
- Сохраните новую базу данных под именем Lab8.mdb в папке WA\Practice\Ch08.
- Когда откроется диалоговое окно базы данных, щелкните вкладку Forms и нажмите кнопку New.
- Выберите режим Design View и нажмите ОК.
- Добавьте кнопку в форму Form1.
- Когда появится мастер Command Button Wizard, нажмите Cancel.
- Добавьте метку в форму Forml.
- В качестве названия метки укажите слово nothing.
- Правой кнопкой мыши щелкните кнопку Command0 и выберите из появив шегося меню пункт Properties.
- Щелкните вкладку Events и выберите событие On Click.
- Щелкните многоточие справа от события On Click.
- Выберите Code Builder и нажмите ОК.
- В меню Tools выберите пункт References.
- Прокрутите список ссылок Available References, пометьте флажком пункт SampleDLL и нажмите ОК.
В результате в код обработки события будет добавлена ссылка на библиотеку, которую Вы оставили работать в Visual Basic.
- . В событие CommandO_Click добавьте следующий код:
Dim MyObject As New Classi
MyObject.Name = InputBox("KaK Ваше имя?")
Label"!.Caption = MyObject.Message
MyObject.SayHello
- В меню Run выберите пункт Go/Continue.
- Нажмите кнопку CommandO.
- Введите свое имя и нажмите ОК.
- Переключитесь на Ваше приложение, работающее в Visual Basic. Появится окно сообщения, в котором указано Ваше имя.
- Нажмите ОК.
- Снова переключитесь в Microsoft Access.
Обратите внимание, что текст метки изменился.
- Закройте форму Form1 и нажмите Yes, чтобы сохранить изменения. Сохраните форму под именем frmLab8.
- Закройте Microsoft Access.
- Переключитесь в Visual Basic.
- Остановите работу приложения и выйдите из Visual Basic. Если хотите, може те сохранить проект в папке WA\Practice\Ch08.