DataSnap XE, C++Builder, Server Methods

Posted by on in Blogs
По заявкам трудящихся

Просьбы были, прямо скажем, немногочисленными, но убедительными. Особенно понравилось "...а то уйдём в Макрософт!". Тут моё "альтер эго" перетрусило, и я принялся переводить коды Delphi в C++Builder. Вот они - результаты ServerMethods(CBuilder).zip. Напомню, что это коды лабораторной работы (aka учебного примера), иллюстрирующего создание и использование серверных методов в рамках новой DataSnap XE. Его "дельфовый" предок находится здесь.

Первый пошёл

Причина задержки была тривиальной, но составной:

  • всё-таки мне не верилось, что перекодирование Delphi в C++Builder представляет собой сложную задачу;

  • хотелось не просто сделать аналог лабораторных работ, а что-нибудь более проектно-ориентированное.


Битва комментариев к предыдущему посту (вообще не имеющего ничего общего к DataSnap :)) в стиле "холивар" явно показала, что программисты не перекидывают коды из Delphi в C++Builder из-за некой "брезгливости". Вы не подумайте, что я здесь разжигаю очередной локальный конфликт - просто делюсь мироощущением на данный счет. Кстати, обратного эффекта нет. Delphi-программисты обычно рады помочь "билдерцам", по-крайней мере в моём любимом Королевстве такого не наблюдается.

Серверные методы

Именно серверным методам и посвящен данный учебный пример, который является первым из серии лабораторных работ, позволяющих освоить DataSnap XE.

Как пользоваться

Вы можете скачиваете архив, открыть его в C++Builder XE и скомпилировать. Но лучше не делать этого, а пройти лабораторную работу заново. Просто в том месте, где есть код на Delphi использовать код из архива. Как его найти? Я оставил в соответствующих файла C++Builder "родные" куски на Delphi. Естественно, в комментариях.

Помните, что в Delphi исходный код хранится в одном файле - pas. А в С++ (Builder) исходник исторически делится на 2: h-файл и cpp-файл. Проводя аналогии, все, что есть в pas-файле с начала и до раздела implementation уходит в h-файл, а раздел "реализация" (т.е. после implementation) переносится в cpp-файл. Вы это увидите сами, сопоставив исходный Delphi-код и код нового примера.

Если будут проблемы - пишите в комментариях. Тогда придумаем какой-нибудь другой поход. Вплоть до переписывания оригинальной статьи. Но это, сами понимаете, за счет задержки в трансляции следующих учебных примеров по DataSnap XE. В наш век демократии - выбор за вами! :)
Tags: C++Builder


Comments

  • Guest
    Keeper Tuesday, 26 July 2011

    Какой у нас прогресс в стране пошел, школы закупают редакции RAD Studio с DataSnap, учителя настойчиво требуют его изучения, а школьники на уроках делают трехзвенные приложения. Не то что в мое время Паскаль с Си штудировали =)

  • Guest
    Vsevolod Leonov Tuesday, 26 July 2011

    Дорогие мои.... мне ужасно приятно читать вас всех :)
    Но скажите - этого достаточно? Вам нормально взять пример на C++Builder с "дельфовыми" вставками? Или всё-таки все лабы нужно переписать?
    В такой форме пойдет? Если да, скоро будут остальные.

  • Guest
    Vsevolod Leonov Monday, 15 August 2011

    Ок, спасибо за конструктивный коммент.
    White Paper - отличная идея. Прорабатываю.

  • Guest
    Vsevolod Leonov Monday, 19 September 2011

    Да я вот как-то приуныл насчет C++Builder. Люди шумели насчет DataSnap и C++Builder и я, как видно, сделал перевод кодов. Но а) сам перевод показался мне тривиальным; б) никакой ответной реакции. Мне показалось, что людям из мира C++Builder просто принципиально было, что разговор идет не только о Delphi. Тем более, что уж с Delphi/Pascal на С++ переложить код гораздо проще, чем наоборот. В общем, тут у меня сомнения...

  • Guest
    Homepage Thursday, 26 January 2012

    ... [Trackback] ...

    [...] Read More Infos here: blogs.embarcadero.com/vsevolodleonov/2011/07/25/datasnap-xe-cbuilder-server-methods/ [...] ...

  • Guest
    lolo lolo Wednesday, 28 March 2012

    Отличаются ли DataSnap ХЕ и ХЕ2 ? Если да, то чем (в кратце) ?

  • Guest
    Vsevolod Leonov Wednesday, 28 March 2012

    DataSnap ХЕ2 получил больше "сервисных" функций.
    Больше событий при работе с callback-ами, например, для "каналов".
    Более расширенная работа при создании REST-клиента (JavaScript).
    Сервисы мониторнига и управления DataSnap:
    - контроль над клиентскими соединениями;
    - монтиторинг клиентских запросов;
    - повышение безопасности
    ...

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: