2016-11-17 4 views
0

私が取り組んでいる環境では他の環境では厳しいかもしれないという問題があります。 Windows 7の64 DOA 4.7直接のOracle Accessコンポーネント Oracle 11gのDOAを使用した、大量のDBロードによるDelphi-7 Oracle-11g通信

アプリケーションオーバー Delphi 7のアプリケーションの実行は、様々な形態を開き、メニューとメインウィンドウがあります。これらのフォームを開くと、通常、Oracle DBからデータが取得されます。通常のDBサーバー負荷では、応答が適切です。

問題は、サーバーに負荷がかかり、応答に時間がかかる場合に発生します。この場合、以下の問題が発生した

  • をフォームが起動されると、それは、データを取得するために数秒を引き継ぐ場合、フォームは、一番上にメッセージを「応答なし」と表示しますデータのフォームはメインフォームの後ろにあります。

  • 検索操作が完了した後、フォームは意図したとおりに動作しますが、「後退」という厄介な振る舞いをしています。

いずれかのアイデアはありますか?私はDelphiソースを持っています。

+0

これは、メインスレッドのDBコード/コンポーネントが実行されるときに期待できることです。データを取得するときにGUIをブロックします。 DOAコンポーネントはわかりませんが、非同期モードで動作する方法があります... – whosrdaddy

答えて

0

私はようやく顧客から受け入れたソリューションに到着しました。 HKEY_CURRENT_USER>コントロールパネル>デスクトップ 「HungAppTimeout」という名前のレジストリエントリタイプの文字列(REG_SZ)を追加しました。値は50000 アプリケーションがCitrix over Windows 2012で実行されるときに、新しいキーが各ユーザーに追加されました。 これは単に、アプリケーションウィンドウを "ゴーストする"前にウィンドウがかかる時間を延長し、 "応答しない"キャプションを表示するだけです。今50秒。 5秒と比較して。デフォルト。

関連する問題