Мегаобучалка Главная | О нас | Обратная связь


WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)



2020-03-17 219 Обсуждений (0)
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 0.00 из 5.00 0 оценок




{

   try

   {

            Application->Initialize();

            // Initialize the ORB and BOA

            CORBA::ORB_var orb = CORBA::ORB_init(__argc, __argv);

            CORBA::BOA_var boa = orb->BOA_init(__argc, __argv);

            WelcomeImpl welcome_WelcomeObject("WelcomeObject");

            boa->obj_is_ready(&welcome_WelcomeObject);

            Application->CreateForm(__classid(TForm1), &Form1);

            Application->Run();

   }

   catch (Exception &exception)

   {

            Application->ShowException(&exception);

   }

   catch (...)

   {

            try

            {

                    throw Exception("");

            }

            catch (Exception &exception)

            {

                    Application->ShowException(&exception);

               }

   }

   return 0;

}

WelcomeServer.cpp

#pragma hdrstop

#include <corba.h>

#include "WelcomeServer.h"

#include "CORBAServerUnit.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

extern TForm1 *Form1;

WelcomeImpl::WelcomeImpl(const char *object_name):

   _sk_User::_sk_Welcome(object_name)

{

}

Void WelcomeImpl::Hello()

{

Form1->Memo1->Lines->Add ("Hello, client!");

}

Интересной особенностью CORBA-мастеров C++ Builder является их умение синхронизировать изменения в описании объектной модели с генерируемыми исходными текстами. Каждый раз, когда программист модифицирует IDL-файл, среда разработки исправляет заглушки (stubs) и скелеты (skeletons) приложения, а также переделывает объект.

Построение CORBA-клиента

Действия, необходимые для проектирования клиентского приложения, обращающегося к серверу, также не сложны.

Для построения CORBA-клиента нужно запустить мастера CORBA Client командой File | New | Other | Multitier | CORBA Server (рис. 5.9).

 

Рисунок 9

В появившемся диалоговом окне (рис. 5.10) нужно выбрать тип приложения и ввести имя IDL-файла user . idl, описывающего объект, к которому будет обращаться CORBA-клиент (можно и не указывать этого имени, а просто добавить IDL-файл в проект).


Рисунок 10

 

Далее нужно спроектировать несложный интерфейс пользователя, позволяющий соединяться с CORBA-сервером (рис. 11).

 

Рисунок 11

 

#include <vcl.h>

#pragma hdrstop

#include "CORBAClientUnit.h"

#include "user_c.hh" // !!!

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

   : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{

User::Welcome_var H = User::Welcome::_bind("WelcomeObject");

H->Hello();

}

 

В обработчике нажатия на кнопку «Подключение к CORBA -серверу» помещают исходный текст, производящий вызов метода Hello () удаленного объекта WelcomeObject интерфейса Welcome модуля User.

Тестирование ИС

Для тестирования ИС следует активизировать утилиту Smart Agent из меню Tools (это программа c:\Inprise\vbroker\bin\osagent.exe) (рис . 12).

 

Рисунок 12

 

и последовательно (вне среды C ++ Builder) запустить CORBA-сервер и CORBA-клиент




2020-03-17 219 Обсуждений (0)
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 0.00 из 5.00 0 оценок









Обсуждение в статье: WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (219)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)