// 处理预警结果 private void WarnResult(IAsyncResult result) { List <string> warnNames; bool isWarn; RealData data; WarnHandler handler = (WarnHandler)((System.Runtime.Remoting.Messaging.AsyncResult)result).AsyncDelegate; handler.EndInvoke(out data, out isWarn, out warnNames, result); globeCtrl.DealWarnData(data, isWarn, warnNames); gmapCtrl.DealWarnData(data, isWarn, warnNames); }
// 接收处理态势数据 private void EventPublisher_TSDataEvent(object sender, TSDataEventArgs e) { if (e.Data == null) { return; } globeCtrl.DealTSData(e.Data); gmapCtrl.DealRealData(e.Data); if (Utils.bStartWarn == false) { return; } // 异步回调(预警) MapLngLat point = new MapLngLat(e.Data.Longitude, e.Data.Latitude, e.Data.Altitude); List <string> warnNames; bool isWarn; RealData data; WarnHandler handler = new WarnHandler(warnMgr.Warn); IAsyncResult result = handler.BeginInvoke(e.Data, out data, out isWarn, out warnNames, new AsyncCallback(WarnResult), "AsycState:OK"); }
private void Warn(string v) { WarnHandler?.Invoke(this, new StringEventArgs(v, null)); }
protected void Warn(string v) { WarnHandler?.Invoke(this, new StringEventArgs(v, NestedIds)); }