Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

CORBA клиент – Java Server

Delphi , Технологии , CORBA



Автор: Xavier Pacheco

unit uDelphiClient;

interface

uses
  Windows, Messages, SysUtils, CorbInit, CorbaObj, orbpas, Classes, Graphics,
    Controls, Forms, Dialogs,
  StdCtrls;

type

  ISimpleText = interface
    ['{49F25940-3C3C-11D3-9703-0000861F6726}']
    function SetText(const txt: string): string;
  end;

  TSimpleTextStub = class(TCorbaStub, ISimpleText)
  public
    function SetText(const txt: string): string;
  end;

  TForm1 = class(TForm)
    edtDelphiText: TEdit;
    btnDelphiTextLate: TButton;
    btnDelphiTextEarlyClick: TButton;
    edtResult: TEdit;
    procedure btnDelphiTextLateClick(Sender: TObject);
    procedure btnDelphiTextEarlyClickClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnDelphiTextLateClick(Sender: TObject);
var
  JavaServer: TAny;
begin
  JavaServer := ORB.Bind('IDL:CorbaServer/SimpleText:1.0');
  edtResult.Text := JavaServer.setText(edtDelphiText.text);
end;

{ TSimpleTextStub }

function TSimpleTextStub.SetText(const txt: string): string;
var
  InBuf: IMarshalInBuffer;
  OutBuf: IMarshalOutBuffer;
begin
  FStub.CreateRequest('setText', True, OutBuf);
  OutBuf.PutText(pchar(txt));
  FStub.Invoke(OutBuf, InBuf);
  Result := UnmarshalText(InBuf);
end;

procedure TForm1.btnDelphiTextEarlyClickClick(Sender: TObject);
var
  JavaServer: ISimpleText;
begin
  JavaServer := CorbaBind(ISimpleText) as ISimpleText;
  edtResult.Text := JavaServer.SetText(edtDelphiText.text);
end;

initialization
  CorbaStubManager.RegisterStub(ISimpleText, TSimpleTextStub);
  CorbaInterfaceIDManager.RegisterInterface(ISimpleText,
    'IDL:CorbaServer/SimpleText:1.0');

end.
Скачать весь проект

Программный клиент на языке Delphi для сервера CORBA (Common Object Request Broker Architecture), написанного на языке Java. Клиент использует ORB (Object Request Broker) для взаимодействия с сервером.

Интерфейс Интерфейс ISimpleText определяет метод SetText, который принимает строку в качестве входных данных и возвращает строку. Этот интерфейс используется клиентом Delphi для общения с сервером CORBA на языке Java.

Stub Класс TSimpleTextStub реализует интерфейс ISimpleText и предоставляет реализацию метода SetText. Это стаб используется ORB для маршалирования и десериализации данных между клиентом Delphi и сервером CORBA на языке Java.

Форма Класс TForm1 определяет форму GUI с тремя кнопками: btnDelphiTextLate, btnDelphiTextEarly и текстовым полем (edtResult). Форма также имеет два текстовых поля для ввода текста: edtDelphiText.

События кликов кнопок События кликов кнопок обрабатываются следующими процедурами:

  • btnDelphiTextLateClick: эта процедура вызывается, когда кнопка btnDelphiTextLate нажата. Она использует ORB для привязки к серверу CORBA на языке Java и затем вызывает метод SetText с текстом, введенным в текстовое поле edtDelphiText.
  • btnDelphiTextEarlyClick: эта процедура вызывается, когда кнопка btnDelphiTextEarly нажата. Она использует другой подход для привязки к серверу CORBA на языке Java с помощью функции CorbaBind и затем вызывает метод SetText с текстом, введенным в текстовое поле edtDelphiText.

Инициализация В секции инициализации стаб-менеджер регистрирует класс TSimpleTextStub как реализацию интерфейса ISimpleText. Менеджер интерфейс-IDs также регистрирует интерфейс ISimpleText с указанным строкой IDL (Interface Definition Language). В целом, это код демонстрирует, как использовать CORBA для взаимодействия с сервером на языке Java из клиента Delphi.

Статья описывает создание клиента CORBA в языке Delphi, который взаимодействует с сервером на языке Java и обеспечивает обмен данными между ними.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: CORBA ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-19 18:50:45/0.0060720443725586/0