private void FinsembleConnected(object sender, EventArgs e) { Dispatcher.CurrentDispatcher.Invoke((System.Windows.Forms.MethodInvoker) delegate //main thread { FSBL.RPC("Logger.log", new List <JToken> { "Winform example connected to Finsemble." }); System.Diagnostics.Debug.WriteLine("FSBL Ready."); FSBL.WindowClient.getSpawnData((err, res) => { var receivedData = (JObject)res.response; textBox1.Text = receivedData.ToString(); }); FSBL.RouterClient.Subscribe("Finsemble.TestWPFPubSubSymbol", delegate(object s, FinsembleEventArgs state) { try { if (state.response != null) { var pubSubData = (JObject)state.response; // The initial publish may be an empty object if not data has been published yet. // Therefore, we need these null operators to handle that case. var theData = ((JValue)pubSubData?["data"]?["symbol"])?.ToString(); if (theData != null) { textBox2.Text = theData; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }); }); }
protected override void OnFormClosing(FormClosingEventArgs e) { //Dispose of the FSSBL object when the form is closed so that Finsemble is aware we've closed FSBL.Dispose(); base.OnFormClosing(e); }