2019年2月5日 星期二

凱基API QuoteCom和TradeCom共存

導言:
因Package版本不一致,造成「參考」時的大混亂。
QuoteCom的Package版本是1.0.6.3
TradeCom的Package版本是1.0.6.8
只要引用最新版的Package(1.0.6.8)問題就解決了

問題:
在Log檔中發現
[P:PushClient FeedPkgThread OnRcvData Exception1503]
造成TradeCom的事件無法正常運作,特別是資料接收( OnRcvMessage)
而接收主機時間(OnRcvServerTime)的Event又正常運作。
所以這問題變的不知所云,因為錯誤清單完全沒有出現錯誤。


Step 1:問題點Package版本不同



Step 2:取最新的Package(1.0.6.8)來加入參考,捨棄Package(1.0.6.3)版
把KGI的四個dll加入參考
Package.dll
PushClient.dll
QuoteCom.dll
TradeCom.dll


Step 3:額外的dll放在同目錄
有兩個dll不能引用進參考,只能放在同目錄。
ICSharpCode.SharpZipLib.dll
Interop.KGICGCAPIATLLib.dll


總結:
這個Package.dll版本錯亂,花了很多時間才解決。一度懷疑報價與交易不能共存在同一類別(class)中。

記得先把所有資料匣(專案目錄、debug目錄、release目錄)中的dll檔全清光,有時visual studio建置時,不會重抓dll。


參考資料:無

沒有留言:

張貼留言