2012-02-24 5 views
0

私はWPF C#アプリケーションを使用していますが、その機能を実行するにはかなりの時間がかかります。プログラム内のスレッディングプラスinterop

int result = MyFavFunctions.mainfunction(searchquery); 

私はこの機能の計算を別のスレッドで行い、UIスレッドをブロックしません。さらに、私はこの操作の結果を得る前に、私はさらに機能を進めたいとは思わないので、int resultは私がさらに使用しているものです。

これはスレッディングで行うことができますか?

さらに、このmainfunctionの関数が実際にはC++のDLLから関数にエクスポートされているため、わかりません。だから、この主な関数の後に、私がdll(別の値を取得するために使われる)で他のエクスポートされた関数を使うと、適切な結果が得られますか?

+0

あなたがint結果を待っているときは、UIはブロックされませんが、その結果が次に役に立つ場合は、実際には得られません。コールバックでは、エクスポートされた関数が利用可能かどうかを確認する必要があります。サイコロが言ったように - テストするのは簡単です。 – Paparazzi

答えて

0

はいスレッドが達成される方法です - いくつかの有用な情報についてはhttp://msdn.microsoft.com/en-us/magazine/cc163328.aspxを見てください。特にBackgroundWorker(http://msdn.microsoft.com/en-us/magazine/cc163328.aspx#S4)が必要です。

fetch関数の結果は、dllの実装方法に非常に依存していますが、そのように使用することを意図している場合は正常に動作するはずです。スクラッチテストアプリケーションこれを確認する。