イベントメカニズムを介して株式ティックを収集する API (dll) があります。以下のように:
...
using MT4API;
public partial class Blue : Form
{
...
public Blue()
{
...
string symbol = "GBPUSD";
MT4DDE dde = new MT4DDE("");
dde.OnQuote += new System.EventHandler<QuoteEventArgs>(MT_OnQuote);
dde.Connect();
dde.Subscribe(symbol);
....
アイデアは、チャートの目盛りごとにイベントを取得することです。イベント ハンドラのコードは次のとおりです。
private static void MT_OnQuote(object sender, QuoteEventArgs args)
{
GlobalClass.Ask = args.Ask;
GlobalClass.Bid = args.Bid;
// I have back ground worker code that updatestables from the global class
}
これはすべてうまくいきます。フォーム UI の他のボタンに触れない限り。UI フォームのボタンをクリックするとすぐに... API からイベントを受信しなくなり、UI アプリケーションは正常に機能しますが、API からのデータはありません。
UI からのイベントが、API イベントからのそれ以降のイベントを停止するのはなぜですか?
ここで何が起こっているのですか?または、これを設計する方法の提案はありますか?