|
|
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть сервер приложений (DataSnapServer) в котором описано n-ое кол-во методов и находятся все Query компоненты доступа к БД. Клиентское приложение подключается с помощью TSQLConnection через TDSProviderConnection. В клиентском приложении работа построена на ClientDataSet-ах. В TDSProviderConnection есть поддержка интерфейса IAppServer и через него можно выполнить сохранение изменений в ClientDataSet-ах c помощью метода As_ApplyUpdates Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Сохранение изменений в ClientDataSet-ах нужно перенести на сторону сервера приложений, т.е. нужно через метод как то передать или ссылку на TDSProviderConnection(через GetServer получу IAppServer) или на сам интерфейс. Если указать IAppServer в качестве параметра в методе на сервере приложений, то на клиенту метод не сгенерируется, т.к. нет поддержки такого типа данных в DataSnapServer. Пробовал передавать TDSProviderConnection в качестве параметра, метод на клиенте генерится, но не отрабатывает. Код: pascal 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. 37. 38. 39. Ошибка : Код: pascal 1. 2. 3. 4. 5. 6. 7. Подскажите решение, если оно есть. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 16:27 |
|
||
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
MedivСохранение изменений в ClientDataSet-ах нужно перенести на сторону сервера приложенийчто бы это значило? я datasnap никогда не юзал и возможно поэтому не пойму вопроса т.к. пользуюсь обычным мидасом и сохранение изменений в cds, привязанных к провайдерам аппсервера автоматически и происходит на этом сервере, в простейшем случае вызовом метода cds.ApplyUpdates. что вы пытаетесь сделать не пойму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 16:35 |
|
||
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
Передаваемые экземпляры классов должны быть DTO, а не тяжелые компоненты... Он же сериализует поля в JSON при передаче... А в TDSProviderConnection по любому есть поля типа Pointer. А Pointer не является допустимым типом для DTO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 16:42 |
|
||
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
Mediv, тупиковая вещь - Datasnap ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2019, 18:43 |
|
||
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
X-Cite, Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 09:52 |
|
||
|
Rad Studio 10.2.3 DataSnapServer
|
|||
|---|---|---|---|
|
#18+
Если кому интересно, то реализация методов интерфейса IAppServer есть в юните Datasnap.DSProviderDataModuleAdapter, проблема решена, всем спасибо. Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 16:11 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=77&tid=2039641]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
284ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 572ms |

| 0 / 0 |
