Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 DataSnap сервер - доступ к главнои форме  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1082
Привет всем.
Есть демо апликация с формои и DataSnap сервером.
В сервере по дефаулту демо функция ReverseString:

function TServerMethods.ReverseString(Value: string): string;
begin
  Result := System.StrUtils.ReverseString(Value);
End;


Сами обекти класа TServerMethods создаются как то, где то, хрен знает как и когда...
У обекта TServerMethods вроде даже owner-a нету, а мне надо из функции ReverseString
достучатся к главнои форме или хотябы до главного серверного компонента ТDSServer или
к чему то другому через кого смог бы выити на другие обекти апликации.

Кто знает как ето сделать?

WBR
Janex
29 дек 18, 15:08    [21776465]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1388
Janex
Привет всем.
Есть демо апликация с формои и DataSnap сервером.
В сервере по дефаулту демо функция ReverseString:

function TServerMethods.ReverseString(Value: string): string;
begin
  Result := System.StrUtils.ReverseString(Value);
End;


Сами обекти класа TServerMethods создаются как то, где то, хрен знает как и когда...
У обекта TServerMethods вроде даже owner-a нету, а мне надо из функции ReverseString
достучатся к главнои форме или хотябы до главного серверного компонента ТDSServer или
к чему то другому через кого смог бы выити на другие обекти апликации.

Кто знает как ето сделать?

WBR
Janex


Цель?
Хорошим тоном будет то, что каждый серверный метод изолирован. Потому что это бизнес-логика, которая ничего не знает о транспорте и фреймворке который занимается ее трансляцией..
29 дек 18, 15:25    [21776477]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1082
X-Cite

Цель?
Хорошим тоном будет то, что каждый серверный метод изолирован. Потому что это бизнес-логика, которая ничего не знает о транспорте и фреймворке который занимается ее трансляцией..


Цель такова, что мне надо не просто от клиента сделать запрос чтоб сервер сложил 1+1 и дал ответ, мне надо из
клиента серверу переслать, например, String и что то сделать в главном потоке с ним.
Пока дёргаю демо апликацию, но в конце мне надо создать компонент с Event-ом:
OnClientData(Var Data :String)

В Event-е обрабатываю Data и отдаю обратно клиенту.
Понемаю что для обрашения к главному потоку нужна синхронизатия, но с етим буду разбератся потом, шас
главная задача понять как из TServerMethods выбратся в наружу к другим обектам...
29 дек 18, 15:42    [21776491]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1082
Вот тривиальныи пример - апликация с формои и DataSnap сервером, на форме TEdit, в нём что то записано
и клиент должен церез DataSnap получить то что в TEdit-е ...
29 дек 18, 15:48    [21776498]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1388
Janex,
автор
String и что то сделать в главном потоке с ним

У DataSnap-сервера по определению не может быть главного потока.
То что он предоставляет возможность быть в виде VCL приложения - это исключительно для отладки.
Datasnap-сервер имеет смысл только как самостоятельная win-службы или ISAPI-плагин к IIS.
Все объекты которые вам нужны вы каждый раз должны создавать и разрушать при вызове метода.
Потому что все объекты должны выполнять работу. Создали экземпляр, выполнили работу, разрушили экземпляр.
29 дек 18, 20:08    [21776619]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
krapotkin
Member

Откуда: Екатеринбург
Сообщений: 674
если у вас есть какие-то данные, то уж точно они не хранятся "на экране", да ведь?
кто вам мешает открыть форму, изменить эти данные ?
а лежат они в отдельном месте, о котором вполне может знать и сервер Datasnap
30 дек 18, 17:34    [21776964]     Ответить | Цитировать Сообщить модератору
 Re: DataSnap сервер - доступ к главнои форме  [new]
MaratIsk
Member

Откуда: Astana, Kazakhstan
Сообщений: 2466
Janex,

посмотри мой SQLProxy32 и выбрось Datasnap :)
30 дек 18, 18:48    [21776984]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить