2016-11-17 1 views
0

У меня есть проблема, которая может быть сложной в других средах, которые я бы описал в той, над которой я работаю. Delphi 7 App работает над Windows 7 64 DOA 4.7 Direct Oracle Access Component Oracle 11gСвязь с Delphi-7 Oracle-11g при тяжелой нагрузке DB с использованием DOA

Приложение имеет главное окно с меню, которое открывается множество форм. При открытии эти формы обычно извлекают некоторые данные из базы данных Oracle. При нормальной нагрузке сервера БД ответ адекватен.

Проблема возникает при большой нагрузке на сервер, и ответ занимает больше времени.

В этом случае происходит следующее:

  • Когда форма запускается, если он занимает в течение нескольких секунд, чтобы получить данные, форма показывает сообщение «не отвечает» на вершине, то формы с данными идут за основной формой.

  • После завершения операции получения форма работает по назначению, но имеет такое раздражающее поведение «позади».

Любые идеи? У меня есть источники Delphi.

+0

Это то, что вы можете ожидать, когда код или компоненты DB основного потока, он будет блокировать GUI, когда он извлекает данные. Я не знаю компонент DOA, но, возможно, есть способ работать в асинхронном режиме ... – whosrdaddy

ответ

0

Я, наконец, пришел к решению, принятому заказчиком. В HKEY_CURRENT_USER> Панель управления> Рабочий стол Я добавил строку типа записи реестра (REG_SZ) с именем «HungAppTimeout» и значение 50000 Поскольку приложение работает в Citrix через Windows 2012, новый ключ был добавлен каждому пользователю. Что это значит, просто продлить время, которое окна занимают перед «ореолом» окна приложения и отображать «не отвечающий» заголовок. Теперь его 50 сек. по сравнению с 5 сек. по умолчанию.

Смежные вопросы