2011-01-11 15 views
2

私はDelphi 2010でプログラムを作成しました。プログラムの一部はファイルハッシングを扱いますが、ファイルのサイズが大きくなると時間がかかります。私が持っている問題は、プログラムがユーザーが望むファイルをハッシングしている間に、プログラムが現在100MBファイルに60秒間までハングしていることです。私は、ファイルのハッシュが行われている間、ユーザーがプログラムの他の機能(Memopad、String Hashing)を使うことができるようにしたい。作業中にユーザーに制御を戻す - Delphi

次のようにプログラムの現在の構成は次のとおりです。 -

  1. ユーザーは、ハッシング場合はハッシュ(ファイル選択またはハッシュアルゴリズムの選択を変更することで行うことができます)
  2. コールがCheckHashBox
  3. CheckHashBoxチェック機能開始アルゴリズムが選択されている
  4. 選択された場合、ハッシュアルゴリズムに関連する関数が呼び出されます。
  5. ハッシングアルゴリズム関数はファイルをバッファし、ハッシュアルゴリズム最終出力をStringGridに出力します。
  6. すべての12個のハッシュアルゴリズムについて、手順3〜5を繰り返します。

大容量のファイルでは、この処理には最大60秒かかることがあります。具体的には、Whirlpool、SHA-512アルゴリズムです。もう1つの奇妙なことは、コード内では特定のハッシュアルゴリズムの戻り値の後に出力を出力してからチェックを行うべきですが、すべてが完了するまで次の結果が表示されないことです。

これはすべてかなり大量のコードが含まれているため、実際のコードは掲載していませんが、必要なコードを投稿することができます。

答えて

関連する問題