謝謝善心人士提醒,也謝謝stockwinner願意花時間幫後進解釋凱基API的狀況。
測試環境的IP在報價與下單是相同的。
至於package.dll這個在用的時候的確有些疑問。
初步先試著用try catch方式迴避這個問題
最差的情況就是用範例程式讓兩者分離
謝謝幫忙
※ 引述《stockwinner (期股相當)》之銘言:
: 你運氣不錯,遇到善心人士提醒我這裡有人問這個問題
: 這邊是Trading,不是Coding板, 且我目前很少看到有人跟我一樣用C#做程式交易
: 我用過幾家期商的API, 各有優缺點
: KGI報價與下單API應該是兩個不同團隊或人做的, 但是它們又有共用的套件
: 所以你分別拿到的兩套API, 裡面的Package.dll的版本可能不是同一個版本
: 至少我當初拿到的就是不同的版本, 所以你在整合的時候要多費點心力
: KGI的API是我看過目前做的比較嚴謹的, 你在VS環境Run是無法連上正式Server的
: 所以請乖乖地用業務給你的測試環境Server以及帳號密碼
: 你初期的問題有可能會是這個, 尤其你是在登入的時候發生的問題
: 而且他機車的是宣告報價或下單物件的時候要先給個起始的Server
: 實際上真正的連線又是另一個Method, 裡面也要給個Server
: 我很難判斷你的問題出在哪邊
: 另外, 就算你開發到後期, 也是常常會有地雷在這個Event發生exception
: 原因很多, 就算網路不穩定也可能會出這個exception
: 我只能說每一家的Push報價and交易元件運作得好不好都要看廠商功力及個人功力
: 最後我把我的這個Event的Sub給你, Programming高手看了只會大笑
: 但是我就是這樣解決問題的(可是初期這樣做就會造成難以Debug)
: 後續問再多我也不會再回了, 因為基本上我只回答女性同胞的問題, 不信你問版主
: private void OnGetStatus(object sender, COM_STATUS staus, byte[] msg)
: {
: TaiFexCom com = (TaiFexCom)sender;
: if (this.InvokeRequired)
: {
: try
: {
: Smart.OnGetStatus_EventHandler d = new Smart.OnGetStatus_EventHandler(OnGetStatus);
: this.Invoke(d, new object[] { sender, staus, msg });
: return;
: }
: catch { }
: }
: OnGetStatusUpdateUI(sender, staus, msg);
: }
: ※ 引述《xlehoo (萊諾)》之銘言:
: : 大大好,
: : 近期在凱基報價與下單API整合在一個C# Form內,執行登入連線時,
: : 報價API正常登入動作後,接著做下單登入時,很快就出現斷線
: : 出現執行緒中斷異常在以下程式碼,請問有朋友遇過這樣的問題嗎?煩請指點,謝謝
: : private void OnGetStatus(object sender, COM_STATUS staus, byte[] msg)
: : {
: : TaiFexCom com = (TaiFexCom)sender;
: : if (this.InvokeRequired)
: : {
: : Smart.OnGetStatus_EventHandler d = new
: : Smart.OnGetStatus_EventHandler(OnGetStatus);
: : this.Invoke(d, new object[] { sender, staus, msg });======>執
: : 行時在此行出現
: : ThreadInterruptedException