/// <summary> ///[55] 설명 차트 조회 데이터를 배열로 받아온다. ///입력값 ///strTrCode : 조회한TR코드 ///strRecordName: 조회한 TR명 ////반환값 object인데.. 잘모르겠음.. ///비고 ///조회 데이터가 많은 차트 경우 GetCommData()로 항목당 하나씩 받아오는 것 보다 ///한번에 데이터 전부를 받아서 사용자가 처리할 수 있도록 배열로 받는다. /// </summary> public Object GetCommDataEx(String strTrCode, String strRecordName) { Object ret = axKHOpenAPI.GetCommDataEx(strTrCode, strRecordName); FileLog.PrintF("GetCommDataEx(" + strTrCode + "," + strRecordName + "):" + ret); return(ret); }
private void OnReceiveTrData(object sender, _DKHOpenAPIEvents_OnReceiveTrDataEvent e) { var temp = axAPI.GetCommDataEx(e.sTrCode, e.sRQName); if (temp != null) { string[,] ts = new string[((object[, ])temp).GetUpperBound(0) + 1, ((object[, ])temp).GetUpperBound(1) + 1]; int x, y, lx = ((object[, ])temp).GetUpperBound(0), ly = ((object[, ])temp).GetUpperBound(1); for (x = 0; x <= lx; x++) { sb = new StringBuilder(64); for (y = 0; y <= ly; y++) { ts[x, y] = (string)((object[, ])temp)[x, y]; if (ts[x, y].Length > 13 && !e.sTrCode.Equals("opt50001") && Retention.Equals(ts[x, y].Substring(2))) { sb = new StringBuilder(it); e.sPrevNext = "0"; break; } sb.Append(ts[x, y]); if (y != ly) { sb.Append(","); } } if (!e.sTrCode.Equals("opt50001") && sb.ToString() != it) { SendMemorize?.Invoke(this, new MemorizeEvent(sb)); continue; } if (sb.ToString() == it) { break; } if (e.sTrCode.Equals("opt50001")) { Remaining = axAPI.GetCommData(e.sTrCode, e.sRQName, 0, "잔존일수").Trim(); return; } } if (e.sPrevNext.Equals("2") && !e.sTrCode.Equals("opt50001")) { rq = new Task(() => { tr = new Opt50028 { Value = Code, RQName = Code + Retention, PrevNext = 2 }; InputValueRqData(tr); }); request.RequestTrData(rq); return; } if (e.sPrevNext.Equals("0") && !e.sTrCode.Equals("opt50001")) { SendMemorize?.Invoke(this, new MemorizeEvent(e.sPrevNext)); } } }