Как создать приложение на DataSnap (простой пример) ?
Итак по шагам… В главном меню Delphi (у меня XE7), File | New | Other
Выбираем тип приложения (я выбрал “Service Application”, потому что мне нужно, чтобы программа-сервер работала более менее постоянно)
Далее выбор VCL или FireMonkey (я выбрал VCL)
Далее, нужно выбрать протоколы, аутентификацию и др. Я выбрал TCP/IP HTTP и Authentification Authorization
Далее, выбираем порты и тестируем их…
Далее выбираем класс для методов сервера. Я выбрал TDSServerModule для облегчения динамических вызовов методов сервера.
После нажатия кнопки Finish получаем 3 вкладки – модуль методов, модуль контейнера, и головной проект – Project1…
Сохраним всё в отдельный каталог на диске…
Если Вы изучите код методов сервера, то увидите там 2 тестовые функции… – позже они нам пригодятся. Одна из них возвращает строку, другая переворачивает.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
unit ServerMethodsUnit1; interface uses System.SysUtils, System.Classes, System.Json, Datasnap.DSServer, Datasnap.DSAuth, DataSnap.DSProviderDataModuleAdapter; type TServerMethods1 = class(TDSServerModule) private { Private declarations } public { Public declarations } function EchoString(Value: string): string; function ReverseString(Value: string): string; end; implementation {$R *.dfm} uses System.StrUtils; function TServerMethods1.EchoString(Value: string): string; begin Result := Value; end; function TServerMethods1.ReverseString(Value: string): string; begin Result := System.StrUtils.ReverseString(Value); end; end. |
Как настроить имя, которое будет отображаться в службах Windows?
Как зарегистрировать сервер в качестве службы Windows?
Для начала откомпилируем проект и получим Exe файл сервиса Windows;
Классное описание о регистрации служб я нашел на этом блоге.
В большинстве случаев нужно войти в cmd от имени администратора. Как это сделать? Несколько способов можно посмотреть здесь.
Я в Windows 8.1 просто в правой панели поиска нашел cmd и далее нажал правой кнопкой мыши, из контекстного меню выбрал “Запустить от имени администратора”
Далее, в консольном приложении cmd я сделал такую запись…
1 |
Sc create DataSnapService1 binPath="C:\DELPHI\MyStudyProjects\63 DataSnap\Win32\Debug\DataSnapService1.exe" DisplayName="DataSnapService1" type=own start=auto |
После перезагрузки Windows, мы видим созданную службу DataSnapService1 в списке служб…
Как удалить службу Windows ?
1 |
Sc delete MyService |
Также можно удалить через реестр,подробнее здесь
На этом данный пост закончу. Он итак получился слишком большим. В следующем посте посмотрим как создать простейшего клиента по технологии DataSnap….