- - PR -
非同期クラス(DLL)の同期的な動作について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-08-20 15:27
Windows、C#、framework2.0または3.0
現在、画像解析をおこなうDLLがあり、非同期で動いています。 これには終了ステータスを返してくれることがなく、内容も公開されていません。 (著作権的には問題のない内容で行っています) 具体的に下記のようにしたいのです。 // 1 DLL.設定値 = 1; DLL.実行処理(); ←dataset(xsd)にデータを作成してくれる。 // 2 form内.解析結果表示(); ←上記datasetをもとに画面を編集。 MessageBox("完了しました。"); としたいのです。 //1はできるのですが、非同期なので当然のように// 2以降はうまくいきません。 やってみたこと: timerを用意して、その1. 予想処理周期(2秒くらい)でまわしてdatasetの件数を比較。 変化していたら//2以降と同様の処理を実行。 →これだと確実性に書ける&処理が怪しかった(一瞬とまる) その2. 単純にマルチスレッド処理 →裏では処理が動き続けているらしく処理が進まない。 あとはスタックオーバーフローエラーが多く発生してしまいます。 何かよい方法はないでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2007-08-20 17:42
処理完了を通知するためのイベントやコールバック(.NET の場合はデリゲート)も定義されていないんですか? あるいは、処理状態を公開するプロパティやフィールドすらも用意されていないんでしょうか? すべて「NO」であるなら処置ナシです。 |
1