|
|
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
Неплохо и понятно описано, как создать datasnap приложения: сервер и клиент. https://community.embarcadero.com/blogs/entry/delphi-cbuilder-android-mobile-client-datasnap-server-1840 Вопрос в генерации методов на клиенте. Я так понимаю, что после добавления нового метода у сервера, на стороне клиента нужно перегенерировать тоже методы Проблема в том, что Reload не создает новые методы, а Generate создаёт, но уже всё с нуля и в новом модуле. Разве это нормально? Delphi Berlin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 18:39:21 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
тьфу ты... Reload - это не совсем то ))) В общем, вопрос остаётся открытым, как догенерировать новые методы в уже существующем клиенте без пересоздания модуля? А то приходится ручками всё повторно писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 18:43:57 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
X11, Автосгенерированные файлы трогать не надо -- весь дополнительный код поверх них в соседнем модуле должен быть (через наследование, хелперы и т.п.). Так что после каждого обновления достаточно перегенирировать код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 18:47:33 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
такссссс, т.е. то, что создают повторно методы в соседнем модуле - это нома? А какие мне тогда вызывать? Из вновь созданного Unit2 или из ClientClassesUnit1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 18:49:52 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
X11, нееее.... то, что повторно создает -- надо класть на место того, что есть (по сути: удалить файл и заного его сгенерировать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:09:50 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
JaDiX11, нееее.... то, что повторно создает -- надо класть на место того, что есть (по сути: удалить файл и заного его сгенерировать). Ну, вспомни, как в Delphi *_tlb.pas генерятся при изменении методов сервера, файл каждый раз заменяется. А в коде клиента - только ссылка на сгенерированный файл. Тут тот же принцип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:15:43 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
чччД, не, про *_tlb.pas ничего не знаю, вернее уже не помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:22:36 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
Может находил кто похожее руководство, более полное, развёрнутое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:24:21 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
X11чччД, не, про *_tlb.pas ничего не знаю, вернее уже не помню Я баю про то, что импорт методов COM серверов подобным образом делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:41:25 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
О, так можно же сделать что-то "универсальное"? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. т.е. вместо 'TServerMethods1.LogString' передавать что угодно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2017, 19:54:13 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
X11, Так оно и есть универсальное. А то что генерится - это почти что как ORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 19:09:42 |
|
||
|
DataSnap и генерация методов
|
|||
|---|---|---|---|
|
#18+
Тогда зачем каждый серверный метод генерируется отдельно на клиенте, если можно всё так - в текстовом виде передавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 08:35:44 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39489785&tid=2042015]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 431ms |

| 0 / 0 |
