Как моя процедура должна сообщить DataWindow, что он не умер?

У меня есть отчет InfoMaker, который получает результаты от хранимой процедуры, но эта процедура останавливается на несколько секунд (преднамеренно) перед возвратом набора результатов. Когда я запускаю и просматриваю отчет, это приводит к зависанию приложения PowerBuilder до тех пор, пока процедура не завершится.

Я видел другие отчеты, которые занимали много времени, чтобы отобразить строку состояния внутри приложения до завершения процедуры и отображения отчета. Что-то, что я должен сделать в своем отчете InfoMaker или процедуре T-SQL, чтобы это произошло?

1 ответ

Обычно, когда DW извлекает первую строку, элемент управления DW становится асинхронным - это означает, что помехи будут разрешаться вручную или программой. Если вы хотите сделать окно отзывчивым, перед подключением к БД установите для свойства SQLCA.DBParm значение Async=1. Это сделает DW и окно отзывчивыми.

Если у вас есть строка состояния, вы можете использовать событие таймера для обновления строки состояния любым текстом, который вы хотите отобразить там. Например, "Вытащить данные за 10 секунд...", а затем выполнить обратный отсчет, используя событие таймера.

Другие вопросы по тегам