Как клиент может отображать ход работы сервера во время удаленного вызова DCOM?

У меня есть многоуровневое приложение, использующее TDcomConnection на стороне клиента и TRemoteDataModule на стороне сервера.

Я опубликовал сервер процесса, который читает TSQLQuery.

Когда я вызываю эту процедуру из клиентского приложения через DComConnection, клиентское приложение не отвечает, пока процедура на сервере не завершится.

Я разрешил блокировку, используя потоки в клиентском приложении для вызова процедуры в серверном приложении.

Но мне нужно показать TProgressBar в клиентском приложении, которое показывает ход процедуры на стороне сервера.

Я не знаю, как получить доступ к серверу в том же сеансе, пока работает другая функция


person Erik Ferney Cubillos Garcia    schedule 11.05.2015    source источник
comment
Итак, вы спрашиваете, как вы можете заставить сервер сообщать о своем прогрессе клиенту, пока он обрабатывает что-то трудоемкое? Я предполагаю, что вам может потребоваться разделить это на два соединения - одно для команд / элементов управления, а другое для передачи данных. Опять же, я никогда не использовал компоненты, о которых вы говорите, и для этого может быть простой переключатель, хотя я сомневаюсь в этом из-за его природы.   -  person Jerry Dodge    schedule 12.05.2015
comment
TDCOMConnection - это компонент DataSnap (ранняя версия), верно?   -  person mjn    schedule 12.05.2015
comment
Использует ли приложение на стороне клиента TClientDataSet для получения набора результатов SQL или оно вызывает только серверный метод, а набор результатов выбирается только на стороне сервера?   -  person mjn    schedule 12.05.2015
comment
stackoverflow.com/q/129437/327083; stackoverflow.com/q/15938040/327083; stackoverflow.com/q/5464931/327083 ... То есть, это продолжается и продолжается. Поле поиска - это золотая жила.   -  person J...    schedule 12.05.2015
comment
Однако неясно, относится ли сервер к вашему серверу или к серверу SQL? Я предполагаю, что это разные ... у вас есть клиент ‹-› сервер ‹-› SQLServer? У вас проблемы с клиентской ‹-› серверной частью или серверной ‹-› частью SQLServer?   -  person J...    schedule 12.05.2015
comment
@mjn спасибо, я использую Delphi XE3 для развертывания приложений ... Клиентское приложение имеет TClientDataSet, но только для получения набора результатов, но это процедура в серверном приложении, которая использует этот набор результатов ... Клиент приложение вызывает эту процедуру и не выполняет никаких дополнительных действий ... Спасибо   -  person Erik Ferney Cubillos Garcia    schedule 12.05.2015
comment
@J ... Привет, прошу прощения, я не понял, я имею в виду сервер как приложение, а не сервер базы данных, в моем приложении есть клиент-сервер-DBServer, мне нужен способ узнать, как проходит процедура в серверном приложении   -  person Erik Ferney Cubillos Garcia    schedule 12.05.2015