Навчальний приклад Простий сервіс DataSnap XE – калькулятор - Embarcadero Community

Written by Vsevolod L1433 on Wednesday, 20 April 2011 Posted in ENTERPRISE

Створюємо простий серверний додаток

Першим кроком є ​​створення нової серверної програми DataSnap з використанням майстра "DataSnap Server".

Запустіть Delphi XE.

Hide image

приклад

На першій сторінці залиште за замовчуванням опцію “Project type” як “VCL Forms Application”.

На другій сторінці майстра також залиште вибрані опції. Далі ми замінимо демонстраційні методи (Sample Methods) на наші варіанти.

На третьому зображенні ми залишимо значення за промовчанням “211” для номера порту TCP/IP. Намагайтеся завжди проводити перевірку доступності порту шляхом натискання на кнопку “Test Port”.

На останній сторінці ми збираємося також скористатися опцією за замовчуванням для вибору базового класу як “TComponent”, від якого буде вироблятися наш клас, який реалізує методи сервера.

Натисніть кнопку “Finish”, а майстер створить новий проект із трьома модулями.

Збережіть весь проект вибором “File-> Save All”.

Створіть нову папку для всіх файлів для цього навчального прикладу “C:\DataSnapLabs\SimpleCalc\”.

Збережіть головну форму програми як “FormServerUnit”, а решту імен скористайтеся стандартними назвами – “ServerContainerUnit1” і “ServerMethodsUnit1” – і збережіть проект як “SimpleCalcServer”.

На цій стадії у вікні Delphi Project Manager ви бачите таку картину:

Hide image

сервіс

Відкрийте модуль ServerMethodsUnit1.pas і реалізуйте функціональність простого сервісу, що виконує арифметичні дії. Замініть демонстраційні методи, додані майстром (“EchoString” та"ReverseString"), на потрібні нам варіанти "Add" ("скласти"), "Subtract" ("відняти"), "Multiply" ("помножити") і "Divide" ("розділити").

Вихідний код для модуля ServerMethodsUnit1 має виглядати наступним чином:

Ви повністю продали наш сервер. Для того, щоб реалізувати клієнтську програму, сервер повинен бути запущений.

Виберіть “Run -> Run Without Debugging” для запуску сервера (поза відладчиком) та мінімізуйте його вікно.

Не завершуйте роботу серверної програми до закінчення навчального прикладу.

Створюємо простий клієнтський додаток

Клацніть правою кнопкою миші на project group всередині Project Manager і виберіть “Add New Project”.

Hide image

навчальний

Hide image

сервіс

Натисніть кнопку “OK”. До існуючої project group має додатися новий проект.

Виконайте збереження нового проекту “File -> Save All”.

Виберіть папку, яку ви створили для збереження файлів проекту сервера, та збережіть туди головну форму клієнтської програми як “FormClientUnit”, сам проект як “SimpleCalcClient”, а всю project group як “SimpleCalcGrp”.

Тепер вікно Project Manager має виглядати як:

Hide image

сервіс

Перевірте, що проект клієнтської програми активний, а потім виберіть “File -> New -> Other”, а у діалозі “New Items” виберіть “DataSnap Client Module”.

Hide image

приклад

Як і минулого разу, будь ласка, збережіть усі опції за замовчуванням під час роботи з майстром.

На першій сторінці залиште “DataSnap server location” як “Local server”.

Наш сервер DataSnap є “stand alone” (незалежний окремий додаток), тому просто натисніть “Next”.

Ми погодилися використовувати “TCP/IP” як протокол, томузбережемо обрану опцію.

Натисніть на “Test Connection”, щоб перевірити, чи сервер «слухає» порт 211, а потім натисніть “Finish”.

Майстер додати два модулі до нашого клієнтського додатку “ClientClassesUnit1” та “ClientModuleUnit1”.

Останнім завданням у навчальному прикладі є реалізація інтерфейсу клієнтського додатка.

Тепер у коді форми клієнта потрібно правильно використовувати методи, що експонуються (пропоновані) через властивість “ClientModule1.ServerMethods1Client”. Ці методи мають самі імена і сигнатури, як і методи, реалізовані на сервері.

Нижче показано реалізацію головної форми клієнтського додатка.

Остаточно моя форма виглядає так:

Hide image

приклад

Напевно, вам не потрібно розповідати, як її відтворити!

Тепер ви бачите, як просто створювати сервери та клієнти DataSnap та використанням Delphi XE J

У цьому навчальному прикладі ми використовували Delphi XE для побудови простого сервісу DataSnap XE у вигляді калькулятора, який на рівні реалізації є програмою Win32, при обміні даними між якими використовується протокол TCP/IP.