作者percyy (serene ice)
看板Trading
标题Re: [问题] 请问各位程式高手
时间Tue Dec 22 07:21:22 2009
对了 最後有成功接收到报价了
使用 C# 接收群益报价 API 的个人写法 记录在网志里
http://percyy-buy.blogspot.com/2009/12/c-api-skquotelibdll.html
(没有最近流行的对帐单啊不好意思^^")
总之 最後的问题 用 Windows Form 的 Textbox.text 可以正确吃进去
虽然我也不知道为什麽 ~"~ 其他试过的字串型态都不行
也不清楚 API 改版之後有没有变化
感谢各位高手的相助!!
※ 引述《percyy (serene ice)》之铭言:
: 标题: [问题] 请问各位程式高手
: 时间: Tue Oct 6 20:53:54 2009
: 群益提供的报价 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
:
: 先行感谢~
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 114.32.91.117
: → idleidle:先到XP上试吧 10/06 21:52
: → idleidle:另外,你有问过群x的工程师吗? 10/06 21:57
: → percyy:营业员转述 说资讯部都说在研究中 10/06 23:09
: 推 richshen:不好意思 那个营业员就是我 明天继续帮你追! 10/06 23:15
: → richshen:还让你到版上问 我好惭愧 哈哈 10/06 23:16
: → percyy:没关系啦^^" 集思广益总是好 工程师应该也很忙~ 10/06 23:18
: 推 richshen:谢谢啦 我会尽快帮你解决的 10/06 23:23
: 推 Rudy:群益给的测试程式,成交回报功能有正常吗? 10/06 23:48
: → Rudy:顺便问一下,我发现有一个function,回传很慢,约0.2秒 10/06 23:59
: → Rudy:实际使用,会严重拖慢电脑速度,有人遇到同样情形吗? 10/07 00:00
: → percyy:成交回报? 若是指成交价报价的话 VB测试程式是正常的 10/07 01:32
: 推 Rudy:那这样群益dll是正常的 10/07 12:45
: → Rudy:接下来就要确定你写的程式是32bit的,用diassembly确认一下 10/07 12:46
: → percyy:我解决了,写 windows form 程式就可以,console 程式不行 10/08 00:58
: → percyy:可能跟 life time 有关吧~! 10/08 00:59
: 推 Rudy:可以帮我试一下,GetTick那个函数,回传会很慢吗?(约0.2s) 10/08 10:35
: → percyy:我现在卡在RequestTicks耶 TCHAR* 搞不定 老是回覆212 10/08 21:36
: → percyy:所以还没办法用GetTick吧 Orz 10/08 21:37
: 推 Rudy:我传 "TX00" 10/08 22:44
: → percyy:是String直接不用MarshalAs吗? 我也丢过 "TX00"、"0050" 等 10/08 22:53
: → percyy:都是212 害我怀疑是Stocks.dat的问题? 有时看它被覆写成0KB 10/08 22:54
: → percyy:嗯 看来应该跟Stocks.dat无关 它好像程式关闭後才会被更新 10/08 23:30
: → percyy:我的程式不会正常关闭 最後会有Memory不能为read的错误讯息 10/08 23:31
: 推 iamkjs:string改成用stringbuilder来接试试看~ 10/12 00:04
: → iamkjs:虽然我没接过群X的API,但我有接过其他C/C++ DLL,也是用C# 10/12 00:05
: → iamkjs:该DLL也是交易用,但不是证券or期权商品,开发过程蒐集很多 10/12 00:06
: → iamkjs:资料,如还有问题,我可以把这些资料share给你参考喔~ 10/12 00:06
: → idleidle:不是证期权?那是外汇吗?那个平台的呢 ^^ 10/12 01:28
: → percyy:StringBuilder sb = new StringBuilder("TX00"); 也不行Orz 10/13 21:05
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.91.117
1F:推 idleidle:推一下,感谢分享 12/22 19:46