private void AxKH_OnReceiveTrData(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) { if (e.sScrNo != _screenNo || e.sRQName != RqName) { return; } MakeDataTable(); var handler = Opt10059_OnReceived; int nCnt = AxKH.GetRepeatCnt(e.sTrCode, e.sRQName); if (nCnt == 0) { if (handler != null) { //_OptStatus.InitOptCallingStatus(); Opt10059_OnReceived(_stockCode, null, 0); } } for (int i = 0; i < nCnt; i++) { DataRow dr = _dt.NewRow(); for (int intColumName = 0; intColumName < _dt.Columns.Count; intColumName++) { var type = _dt.Columns[intColumName].DataType; dr[_dt.Columns[intColumName].ColumnName.ToString()] = Convert.ChangeType(AxKH.GetCommData(e.sTrCode, e.sRQName, i, _dt.Columns[intColumName].ColumnName.ToString()).ToString().Trim(), type); } _dt.Rows.Add(dr); } if (handler != null) { if (Convert.ToInt32(e.sPrevNext) != 2) { // _OptStatus.InitOptCallingStatus(); } Opt10059_OnReceived(_stockCode, _dt, Convert.ToInt32(e.sPrevNext)); } }
public async void Opt10059(bool nextCall = false) { lock (lockObject) { AxKH.SetInputValue("일자", _startDate); AxKH.SetInputValue("종목코드", _stockCode); AxKH.SetInputValue("금액수량구분", _amountQtyGb); AxKH.SetInputValue("매매구분", _maeMaeGb); AxKH.SetInputValue("단위구분", _unitGb); } if (nextCall == false) { await JustRequest(); } else { await ReJustRequest(); } }
private void AxKH_OnEventConnection(Object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e) { string str = AxKH.GetLoginInfo("ACCNO"); if (e.nErrCode == 0) { _loginStatus = true; lblLoginStatus.Text = "접속 중...."; lblMsgTitle.Text = "접속정보"; lblMsg.Text = "로그인 성공"; btnDisconnect.Enabled = true; Telegram_Send(); } else { _loginStatus = false; lblLoginStatus.Text = "오프라인...."; lblMsgTitle.Text = "접속정보"; GetErrorMessage(e.nErrCode); lblMsg.Text = GetErrorMessage(); btnDisconnect.Enabled = false; } }
private void Connection() { AxKH.CommConnect(); }
private void AxKH_OnReceiveTrData(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) { if (e.sScrNo != _screenNo || e.sRQName != RqName) { return; } //Task<string> t = Task.Run(() => //{ // MakeDataTable(); // var handler = Opt10060_OnReceived; // int nCnt = AxKH.GetRepeatCnt(e.sTrCode, e.sRQName); // if (nCnt == 0) // { // if (handler != null) // { // // _OptStatus.InitOptCallingStatus(); // Opt10060_OnReceived(_stockCode, null, 0); // } // } // for (int i = 0; i < nCnt; i++) // { // DataRow dr = _dt.NewRow(); // for (int intColumName = 0; intColumName < _dt.Columns.Count; intColumName++) // { // var type = _dt.Columns[intColumName].DataType; // dr[_dt.Columns[intColumName].ColumnName.ToString()] = Convert.ChangeType(AxKH.GetCommData(e.sTrCode, e.sRQName, i, _dt.Columns[intColumName].ColumnName.ToString()).ToString().Trim(), type); // } // _dt.Rows.Add(dr); // } // if (handler != null) // { // if (Convert.ToInt32(e.sPrevNext) != 2) // { // // _OptStatus.InitOptCallingStatus(); // } // Opt10060_OnReceived(_stockCode, _dt, Convert.ToInt32(e.sPrevNext)); // } // return e.sPrevNext; //}); //Task cwt = t.ContinueWith(task => //{ // if (t.Result != "2") // { // //_OptStatus.InitOptCallingStatus(); // } // Opt10060_OnReceived(_stockCode, _dt, Convert.ToInt32(e.sPrevNext)); //}); MakeDataTable(); var handler = Opt10060_OnReceived; int nCnt = ClsAxKH.AxKH.GetRepeatCnt(e.sTrCode, e.sRQName); if (nCnt == 0) { if (handler != null) { //_OptStatus.InitOptCallingStatus(); Opt10060_OnReceived(_stockCode, null, 0); } } for (int i = 0; i < nCnt; i++) { DataRow dr = _dt.NewRow(); for (int intColumName = 0; intColumName < _dt.Columns.Count; intColumName++) { var type = _dt.Columns[intColumName].DataType; dr[_dt.Columns[intColumName].ColumnName.ToString()] = Convert.ChangeType(AxKH.GetCommData(e.sTrCode, e.sRQName, i, _dt.Columns[intColumName].ColumnName.ToString()).ToString().Trim(), type); } _dt.Rows.Add(dr); } if (handler != null) { if (Convert.ToInt32(e.sPrevNext) != 2) { //_OptStatus.InitOptCallingStatus(); } Opt10060_OnReceived(_stockCode, _dt, Convert.ToInt32(e.sPrevNext)); } }