請問各位程式高手 - 財經

Table of Contents

群益提供的報價 API 應該是用 C/C++ 寫的 32-bit DLL
我則是使用 C# 來寫策略程式

API 中有函式需要 callback function
但是他的函式參數只收 long 做為 function pointer 的 type
而 C# 裡只有 delegate 頂多轉成 IntPtr
我試了幾種方法 都沒辦法成功地讓該函式呼叫到 callback function

範例程式碼有 VB 與 VC++ 他們使用
VB: 函式名稱( AddressOf CallbackFunctionName )
VC++: 函式名稱( (long) CallbackFunctionName )

不曉得板上是否有高手處理過該 DLL (SKQuoteLib.dll) 或是類似的問題
我卡在這地方許久 也找不到解決的方式

根據查的一些資訊
這跟 Managed 與 Unmanaged 之間的 P/Invoke 與反向 P/Invoke 有關
可能跟 CLR 的細部處理有關
C/C++ 的 long 是 32-bit

平台:
Vista 64-bit Enterprise
Visual Studio 2008, 專案的 target platform 已改為 x86

先行感謝~

--

All Comments

Hedwig avatarHedwig2009-10-09
先到XP上試吧
Edith avatarEdith2009-10-09
另外,你有問過群x的工程師嗎?
Elma avatarElma2009-10-10
營業員轉述 說資訊部都說在研究中
Edith avatarEdith2009-10-10
不好意思 那個營業員就是我 明天繼續幫你追!
Dinah avatarDinah2009-10-14
還讓你到版上問 我好慚愧 哈哈
Andrew avatarAndrew2009-10-15
沒關係啦^^" 集思廣益總是好 工程師應該也很忙~
Damian avatarDamian2009-10-16
謝謝啦 我會盡快幫你解決的
Valerie avatarValerie2009-10-20
群益給的測試程式,成交回報功能有正常嗎?
Rachel avatarRachel2009-10-24
順便問一下,我發現有一個function,回傳很慢,約0.2秒
Olivia avatarOlivia2009-10-24
實際使用,會嚴重拖慢電腦速度,有人遇到同樣情形嗎?
Kristin avatarKristin2009-10-29
成交回報? 若是指成交價報價的話 VB測試程式是正常的
Lily avatarLily2009-11-02
那這樣群益dll是正常的
Aaliyah avatarAaliyah2009-11-05
接下來就要確定你寫的程式是32bit的,用diassembly確認一下
Kumar avatarKumar2009-11-06
我解決了,寫 windows form 程式就可以,console 程式不行
Annie avatarAnnie2009-11-07
可能跟 life time 有關吧~!
Mary avatarMary2009-11-11
可以幫我試一下,GetTick那個函數,回傳會很慢嗎?(約0.2s)
Michael avatarMichael2009-11-16
我現在卡在RequestTicks耶 TCHAR* 搞不定 老是回覆212
Dorothy avatarDorothy2009-11-18
所以還沒辦法用GetTick吧 Orz
Daph Bay avatarDaph Bay2009-11-23
我傳 "TX00"
Valerie avatarValerie2009-11-27
是String直接不用MarshalAs嗎? 我也丟過 "TX00"、"0050" 等
Yuri avatarYuri2009-12-01
都是212 害我懷疑是Stocks.dat的問題? 有時看它被覆寫成0KB
Necoo avatarNecoo2009-12-05
嗯 看來應該跟Stocks.dat無關 它好像程式關閉後才會被更新
Caitlin avatarCaitlin2009-12-06
我的程式不會正常關閉 最後會有Memory不能為read的錯誤訊息
Charlotte avatarCharlotte2009-12-07
string改成用stringbuilder來接試試看~
Lily avatarLily2009-12-11
雖然我沒接過群X的API,但我有接過其他C/C++ DLL,也是用C#
Emily avatarEmily2009-12-15
該DLL也是交易用,但不是證券or期權商品,開發過程蒐集很多
資料,如還有問題,我可以把這些資料share給你參考喔~
Lucy avatarLucy2009-12-19
不是證期權?那是外匯嗎?那個平台的呢 ^^
Sarah avatarSarah2009-12-20
StringBuilder sb = new StringBuilder("TX00"); 也不行Orz