В Windows 2000 можно настроить строку конструктор уникальный объект для каждого компонента библиотеки динамической компоновки (DLL), установленные во время выполнения COM +. Эта строка конструктора обычно используется для указания строку инициализации, который должен быть доступен для всех экземпляров объектов компонента. Данная статья содержит пример кода, демонстрирующий, как можно настроить строку конструктор объекта COM + для Visual Basic компонента, который можно использовать экземпляры объектов компонента.
Строки конструктора обычно используется для указания строки подключения базы данных, экземпляры объектов компонента для установления подключения к базе данных. Преимущество использования строки конструктора для этой цели заключается в строке соединения не жестко закодировано в коде компонента. Чтобы изменить имя сервера базы данных, укажите другую базу данных или реализации других изменений, необходимо изменить конструктора объекта компонента COM +, больше не нужно изменять код компонента и выполните повторную компиляцию фактические библиотеки DLL. Помимо хранения сведений о подключении базы данных, можно использовать, чтобы указать любую строку инициализации, который должен быть доступен для всех экземпляров объектов компонента, для которых настроен строки конструктора объекта COM +.
Настройка строки конструктора объектов COM +
Должен быть реализован компонент Visual Basic
IObjectConstructCOM + интерфейс, позволяющий его экземпляры объектов для доступа к COM + объекта строки конструктора, настроенной для него.
IObjectConstructПредоставляет один метод с именем конструкции)
IObjectConstruct_Construct), запускается при создании экземпляра объекта компонента. Можно использовать конструктор объекта, который передается как параметр этого метода для получения заданного COM + объекта строки конструктора. Чтобы реализовать пример, демонстрирующий, как можно использовать эту функцию, выполните следующие действия:
- Откройте новый проект Библиотеки ActiveX в Visual Basic.
- Переименуйте проект "prjConstruct".
- Переименуйте модуль класса «clsConstruct».
- Набор ссылки проектаБиблиотека служб COM +иБиблиотека 2.5 объектов данных ActiveX.
- Скопируйте и вставьте следующий код в модуль класса:
'General Declarations Section
Implements IObjectConstruct
Dim connstr As String
Private Sub IObjectConstruct_Construct(ByVal pCtorObj As Object)
Dim mConstructString As IObjectConstructString
Set mConstructString = pCtorObj
connstr = mConstructString.ConstructString
End Sub
Public Function GetAuthors() As ADODB.Recordset
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open connstr
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "Select * from Authors", cn, adOpenStatic, adLockBatchOptimistic
Set rs.ActiveConnection = Nothing
Set GetAuthors = rs
GetObjectContext.SetComplete
End Function
В этом примере кода демонстрируется реализацияIObjectConstruct_Constructдля доступа к строке конструктор объекта COM +. надписьюКонструкцияОбъект параметра должен быть приведен кIObjectConstructStringи сканеров.IObjectConstructStringпредставляет одно свойство с именемConstructStringкоторый может быть использован для доступа к строке конструктор объекта COM +. Обратите внимание, как присвоить глобальной переменной и повторно использовать в строки конструктораGetAuthorsfunction:. - Компиляция библиотеки DLL. Для создания приложений сервера COM + для размещения компонента prjConstruct.clsConstruct, выполните следующие действия.
- Выберите в панели управленияАдминистрированиеи выберите командуСлужбы компонентовЧтобы открыть оснастку консоли управления Microsoft (MMC) службы компонентов.
- Щелкните, чтобы развернутьСлужбы компонентов,Компьютеры,Мой компьютер, иПриложения COM +узлы. затем –Приложения COM +.
- Щелкните правой кнопкой мышиПриложения COM +, выберите пунктСОЗДАТЬ.и выберите командуПриложение.
- Создайте новое приложение на сервере с именем VBComPlusTest и установите его свойство идентификатора для использования учетных данных пользователя, интерактивная.
- Завершите работу мастера и нажмите кнопкуЗавершить. Это создает образец приложения COM +, используемый для размещения компонента prjConstruct.clsConstruct Visual Basic.
- Чтобы установить компонент prjConstruct.clsConstruct в приложении «VBComPlusTest COM +», выполните следующие действия.
- В оснастке MMC служб компонентов щелкните, чтобы развернутьVBComPlusTestузел. Перейдите на вкладкуComponents:Subfolder.
- Щелкните правой кнопкой мышиComponents:, выберите пунктСОЗДАТЬ.и выберите командуКомпонент.
- В COM компонентов мастер установки нажмите кнопку?????затем –Установка новых компонентови выберите prjConstruct.dll и нажмите кнопку?????.
- Завершите работу мастера и нажмите кнопкуЗавершить.
- Откройте окно свойств для prjConstruct.clsConstruct компонентов Visual Basic.
- в менюАктивацияВкладка выбораВключить создание объектовФлажок.
- В диалоговом окнеСтрока конструкторауказать следующую строку подключения ADO, а затем щелкнитеOk.:
Примечание.: В этом примере используется образец базы данных Microsoft SQL Server PUBS.
"Provider=SQLOLEDB;Data Source=<Your SQL Server>;Initial Catalog=pubs;" & _
"User Id=<User Id>;Password=<Password>"
Использование строк конструктора объектов COM +
- Откройте новый проект стандартный EXE-файла в Visual Basic для проверки компонента Visual Basic, COM +. По умолчанию будет создана форма Form1..
- Добавьте поле со списком (List1) и (Command1) кнопки в форму Form1.
- Скопируйте и вставьте следующий код в событие Click элемента Command1:
Dim obj As Object
Dim rs As Object
Set obj = CreateObject("prjConstruct.clsConstruct")
Set rs = obj.GetAuthors()
Do While Not rs.EOF
List1.AddItem rs.fields("au_fname")
rs.movenext
Loop
Set obj = Nothing
- Сохранить стандартный exe-ФАЙЛ проекта и запустите его.
- затем –Command1для заполнения поля списка имена всех авторов в таблице Authors.
Чтобы продемонстрировать полезность строки конструктора объекта COM +,
Источник данныхСвойство строки конструктора для указания различных SQL Server, который также имеет PUBS образец базы данных. При выполнении клиентского кода записи из нового источника данных извлекаются и отображаются. Чтобы проверить это, добавьте новую запись таблицы Authors в базе данных SQL Server PUBS второй.
Код статьи: 271284 - Последнее изменение :: 21 ноября 2010 г. - Редакция: 3.0
Информация в данной статье относится к следующим продуктам.
- Microsoft Visual Basic 5.0 Professional Edition
- Microsoft Visual Basic 6.0 Professional Edition
- Microsoft Visual Basic 5.0 Enterprise Edition
| kbhowto kbmdacnosweep kbmt KB271284 KbMtru |
Переведено с помощью машинного переводаВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:
271284
(http://support.microsoft.com/kb/271284/en-us/
)