OLE клиент-сервер – Массив байтDelphi , Технологии , OLEOLE клиент-сервер – Массив байтАвтор: Xavier Pacheco unit CliMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Server_TLB; type TMainForm = class(TForm) Memo: TMemo; Panel1: TPanel; SetButton: TButton; GetButton: TButton; OpenButton: TButton; OpenDialog: TOpenDialog; procedure OpenButtonClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure SetButtonClick(Sender: TObject); procedure GetButtonClick(Sender: TObject); private FServer: IBinaryData; end; var MainForm: TMainForm; implementation {$R *.DFM} procedure TMainForm.FormCreate(Sender: TObject); begin FServer := CoBinaryData.Create; end; procedure TMainForm.OpenButtonClick(Sender: TObject); begin if OpenDialog.Execute then Memo.Lines.LoadFromFile(OpenDialog.FileName); end; procedure TMainForm.SetButtonClick(Sender: TObject); var P: Pointer; L: Integer; V: OleVariant; begin // Send memo data to server L := Length(Memo.Text); V := VarArrayCreate([0, L - 1], varByte); P := VarArrayLock(V); try Move(Memo.Text[1], P^, L); finally VarArrayUnlock(V); end; FServer.Data := V; end; procedure TMainForm.GetButtonClick(Sender: TObject); var P: Pointer; L: Integer; S: string; V: OleVariant; begin // Get server's memo data V := FServer.Data; L := VarArrayHighBound(V, 1) - VarArrayLowBound(V, 1) + 1; SetLength(S, L); P := VarArrayLock(V); try Move(P^, S[1], L); finally VarArrayUnlock(V); end; Memo.Text := S; end; end.Скачать весь проект Этот проект на языке Delphi демонстрирует клиент-серверное приложение с использованием технологии OLE (Object Linking and Embedding) и интерфейса
Вот подробное описание кода: FormCreate(): Инициализирует переменную OpenButtonClick(): Открывает диалоговое окно с помощью SetButtonClick(): Отправляет текстовые данные из Memo на сервер, создавая массив OLE-variant, блокируя его, перемещая текстовые данные в массив, разблокируя массив и присваивая ему свойство GetButtonClick(): Получает данные от сервера, доступ к свойству Обратите внимание, что это код предполагает:
В целом, этот проект демонстрирует, как использовать OLE для создания простого клиент-серверного приложения в Delphi. В статье рассматривается пример использования OLE клиент-сервер, демонстрируя как отправить и получать данные между клиентом и сервером. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |