Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Пример создания объектно-распределенного приложения с использованием DCOM
1. Создадим на Visual Basic две простейшие программы:
Hello-клиент (helo_cli.exe) и Hello-сервер (helo_svr.exe).

Программа Hello-клиент должна содержать простейшую форму с кнопкой "Поприветствуй меня" (cmdSayHi), при нажатии на которую будет вызываться метод, печатающий в другой
форме сообщение, присылаемое с сервера.

Option Explicit
Dim objNew As Object

Private Sub cmdSayHi_Click()
MsgBox objNew.SayHello
End Sub

Private Sub Form_Load{)
Set objNew = CreateObject("HelloProj.HelloClass")
End Sub

Private Sub FormJJnload(Cancel As Integer)
Set objNew = Nothing
End Sub

 

И сам метод и сообщение находятся в программе-сервере, которая оформлена как класс Helloclass. Эта программа содержит пустую форму (frmHello), имеющую некоторые пояснения для клиента:

Пояснение 1: Следующие два сегмента кода демонстрируют две возможности для актуализации объекта со стороны клиента. Первая возможность использует раннее связывание и требует, чтобы "HelloProj" был выбран из RAD-системы Visual Basic по меню
Tools,References. Вторая возможность использует позднее связывание и требует присутствия дополнительного оператора для создания объекта.
Раннее связывание, конечно, быстрее, но позднее связывание дает большую свободу и гибкость для проектировщика.

Пояснение 2: Клиентская часть кода присутствует в этом проекте только для облегчения отладки. Его можно без изменений вставить в любую клиентскую программу и использовать в режиме разделения.

 

Раннее связывание
Dim objNew As New HelloProj .-HelloClass
MsgBox objNew.SayHello
Set objNew = Nothing

Позднее связывание
Dim objNew As Object
Set objNew = CreateObject("HelloProj.HelloClass")
MsgBox objNew.SayHello
Set objNew = Nothing
End Sub

 

Главной частью на сервере, конечно, является модуль класса (HelloClass):
Public Function SayHello() As String
SayHello = "Приветдруг!"
End Function

Private Sub Class_Terminate()
Unload frmHello
End Sub

 

 

     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru