После некоторых доработок проект скомпилировался на Delphi 10 Seattle.
Клиент на базе TSQLConnection заработал как и ожидалось, а вот с клиентом на базе TDSRestConnection возникли проблемы:
Ф-ция обратного вызова регистрируется на сервере и сервер тут же закрывает канал
(при этом в обработчике события OnChannelStateChange параметр EventItem.EventType = rChannelClosedByServer).
Соответственно дальше ничего не работает. При этом на сервере в момент регистрации отображается создаваемый канал и какой-то фантомный (см. рис.).
Долго и безуспешно пытался понять в чем проблема и в итоге решил скомпилировать клиента (RESTClientChannels) на ХЕ8.
И... о чудо! - он заработал.
Соответственно вопрос: что разработчики сделали такого с TDSRestConnection и иже с ним в Seattle, что ф-ции обратного вызова перестали работать и как это исправить?
Вопрос
FIL
Всем привет!
Решил тут немного поближе познакомиться с технологией DataSnap.
Добрался до функций обратного вызова.
Нашел хороший пример на данную тему: CallbackChannels
После некоторых доработок проект скомпилировался на Delphi 10 Seattle.
Клиент на базе TSQLConnection заработал как и ожидалось, а вот с клиентом на базе TDSRestConnection возникли проблемы:
Ф-ция обратного вызова регистрируется на сервере и сервер тут же закрывает канал
(при этом в обработчике события OnChannelStateChange параметр EventItem.EventType = rChannelClosedByServer).
Соответственно дальше ничего не работает. При этом на сервере в момент регистрации отображается создаваемый канал и какой-то фантомный (см. рис.).
Долго и безуспешно пытался понять в чем проблема и в итоге решил скомпилировать клиента (RESTClientChannels) на ХЕ8.
И... о чудо! - он заработал.
Соответственно вопрос: что разработчики сделали такого с TDSRestConnection и иже с ним в Seattle, что ф-ции обратного вызова перестали работать и как это исправить?
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.