Я использую DataSnap из Delphi 2010. Утилита DSProxyGen.EXE позволяет нам создавать клиентский модуль прокси. Кто-нибудь, как использовать эту утилиту в командной строке для создания прокси-клиента без использования контекстного меню TSQLConnection?Как вручную вызывать DSProxyGEN.EXE для создания прокси-клиента Delphi DataSnap?
ответ
DSProxyGen не дает его параметры при запуске в командной строке и не реагирует на
DSProxyGen /?
Вы можете попробовать заменить его свой ех (сделать резервную копию!), Который определяет, какую команду параметры линии отправляются (глобальная переменная CmdLine) и записывают их в файл. Запустите это из контекстного меню TSQLConnection, и вы должны иметь то, что вам нужно, чтобы вызвать DSProxyGen из командной строки.
Update:
От Delphi XE до XE7, исходный код для DSProxyGen включен в качестве одного из образцов
Samples\Delphi\DataSnap\ProxyGenerator
В Delphi X Е8, он поставляется как часть исходного кода.
source\data\datasnap\proxygen
Смотрите блок DSProxyDesigner.dcu (для которого исходный файл не включен, но должен быть в базе данных \ внешних \ SRC \ па \ DataSnap \ прокси \ DSProxyDesigner.pas). Это единица, используемая во время разработки для создания классов прокси-клиента. Я не уверен, что DSProxyGen.exe фактически используется, и стыдно, что в его параметрах командной строки нет документации ...
В Delphi XE, он все тот же (нет документации, нет исходного кода)? – mjn
Запустите Delphi XE's DSProxyGen.exe без параметров для использования справки по параметрам командной строки –
DSProxyGen.exe без аргументов подключается через порт 211 TCP/IP и использует первый аргумент командной строки в качестве имени файла.
DSProxyGen test.pas
будет генерировать test.pas
Я не нашел никакого способа указать параметры ConnectionString в командной строке, но ...
+1 для истинного отношения хакеров – jachguate
Кажется, он был добавлен в Delphi XE :-), см. Мой ответ. –
Это возможно с DSProxyGen.exe из Delphi XE, а затем, например:
DSProxyGen.exe Proxy.pas
-C:host=localhost;port=8080;communicationprotocol=http
Run DSProxyGen.exe без параметров для США ge help. (?/Или/ч и т.д. не работает)
Я заметил, что источник также включен в Delphi XE7:
C:\Program Files (x86)\Embarcadero\Studio\15.0\source\data\datasnap\proxygen\DSProxyGen.dproj
Обратите внимание, что это не будет работать, если вы указали любые транспортные фильтры (т.е. ZLibCompression, PC1, RSA и т. д.), возвращая ошибки, например, «TDBXError: фильтр ZLibCompression не найден».
Временное решение, которое я использовал во время разработки, - это добавить еще один TDSTCPServerTransport, который не имеет транспортных фильтров, а затем DSProxyGen отлично работает.
- 1. Delphi datasnap с Apache
- 2. DELPHI 2007 & DATASNAP
- 3. Delphi DataSnap & Active Directory
- 4. Delphi XE2 Datasnap Callback
- 5. Как обновить сервер Delphi Datasnap?
- 6. Delphi XE5 DataSnap Thread
- 7. delphi datasnap утечка памяти
- 8. Delphi Datasnap - Как настроить JSON marshalling
- 9. Delphi 2010 Datasnap - Design Query
- 10. Как вручную вызывать событие?
- 11. Delphi XE3 - datasnap REST сервер UTF8 output
- 12. Delphi: проверьте соединение DataSnap через TThread
- 13. Проблема CORS на Datasnap Delphi Модуль ISAPI
- 14. Перемещение DataSnap из Delphi 7 в XE6
- 15. Как вручную вызывать jQuery mobile
- 16. Клиент DataSnap Delphi 2010 с HTTPS
- 17. delphi DataSnap 2010 Рабочий файл потока Образец
- 18. Транспорт Фильтры в Delphi XE DataSnap
- 19. Datasnap Delphi XE7 - ApplyUpdates (0) issue
- 20. Сервер Datasnap на «не установленном delphi» ПК
- 21. Delphi datasnap tcpip encryption PC1 и RSA
- 22. Delphi XE2 Datasnap TObject с TMemoryStream
- 23. Delphi XE7 DataSnap с чистым JSON
- 24. Обработка исключений в Delphi Datasnap REST Server
- 25. CoInitialize в приложении сервера Delphi DataSnap
- 26. Delphi XE2: Как определить пользовательский идентификатор URI DataSnap?
- 27. delphi 2010 datasnap return treeview с сервера
- 28. Проверка Delphi Datasnap с помощью javascript-клиента
- 29. Написание клиента DataSnap с помощью Delphi Prism
- 30. Delphi XE10.1 DataSnap Ошибка клиента "SetConnectTimeOut"
Ваши решения звучат, но я не могу заставить его работать. Вот что я сделал: 1. Переименовать DSProxyGen.exe в DSProxyGen.exe.old в папку «C: \ Program Files (x86) \ Embarcadero \ RAD Studio \ 7.0 \ bin" 2.Затем я пытаюсь сгенерировать прокси-клиентский класс из контекстного меню TSQLConnection и все еще способен генерировать блок. Кажется, что IDE не вызывала DSProxyGen.exe –
Интересно. Я не уверен, что еще попробовать. –
Вы попробовали сами? –