2011-01-13 8 views
2

C#のNDdeプロジェクト(http://ndde.codeplex.com/)を使用してDDEサーバーからデータを読み込みます。多くの場合、DdeClientメソッドのRequest()は "#No Data"を返します。全く同じメソッドを再度呼び出すと、データが返されます。なぜこれが起こるのですか?DDE:C#NDde DdeClient.Requestは頻繁に "No Data"を返しますか?

どうすれば解決できますか?注意:私は、データが返されない場合、指定された回数だけ再試行するように、Request()呼び出しをループに入れようとしました。しかし、データを10回繰り返しても、 "No Data"に戻ることがあります。しかし、ブレークポイントを設定すると、データはほとんどの場合、2回目に返されます。私はこれは、リクエストの間に時間がかかるためです。

答えて

3

なぜ、リクエストの代わりにアドバイス機能を使用してください。アドバイスイベントを購読するには?

client.Advise += OnAdvise; 

ここで、OnAdviseはイベントハンドラメソッドです。その後、アドバイスループを開始します。

client.StartAdvise("myitem", 1, true, 60000); 

データが利用可能になると、Adviseイベントが発生し、EventArgsからデータが取得されます。

0

私が推測しなければならないのは、おそらくDDEサーバーにタイミングの問題があると言います。 Request操作の間に時間的な間隔を試しましたか?

関連する問題