在原来基础上进行了些修改,增加了完整的交易接口支持。struct.h头文件修改自海风版C#接口的struct.cs文件,非常感谢。 CTP里面的结构类型非常多,所以这个struct.cs文件的工作量非常大,而且海风为每一个类型都进行了注释,(VStudio里面编程的时候,IntelliSense就可以自动提示),真的很不容易,再谢海风一次。 updated: 20160907 最新版的CTP(期货,x86/x64/AnyCPU)、CTP2(兴业证券,x86/x64/AnyCPU) 、Femas(期货,仅x86)的dotNet封装发布在 https://github.com/shawn666liu?tab=repositories
利用C++/CLI重用目前的代码,封装成COM组件,用VB6调用,在传递CTP的结构类型时,总是出现"类型不匹配"的错误,简单类型如字符串和数值则无问题,google上反复查了也没找到解决办法。但是如果用C#封装.Net组件倒是可以正常传递类和结构类型,(C#用ref,传递引用的方式,C++/CLI中似乎找不到对应的方式)。也就是说,如果用海风版的C#代码,倒是可能实现.Net到COM组件的转换。但是无论如何,这种方式的性能损失是非常严重的,因为这里凭空多了两次转换,首先是上期CTP/C++==>.NET,非托管到托管的转换,然后是.Net==>COM, COM Callable Wrapper(CCW)转换。所以还是不推荐这种方式。 另外,今天测试了汇朋的CTPCOM组件,http://www.winnerfutures.com.cn,很好用,VB6和Excel中都工作正常。它是直接封装上期CTP/C++的,接口上只使用字符串和数值类型等简单类型,上期CTP的一大堆结构类型全部对客户端隐藏。推荐使用。
C++/CLI对应C#中传递引用的ref是用%,如果用reflector反编译出来看,IL跟C#代码是一致的。但此时生成的COM接口TLB文件中,IDL显示这个接口跟C#生成的不一样了。C#是*,而C++/CLI变成了**。所以这一点很费解。
请教马不停蹄了: 我用汇朋的com 对 excel 上登录 ERROR ID 10000 VB 上注释掉两个"类型不匹配"错后,还是不能登 录的。谁调通了请教如何用。现在是发到第三方软件来下单的,准备改用CTP.
CTP .Net 接口(20121028)更新到官方库20120530版本,同时增加了Multiple AppDomain支持,可用于跨AppDomain (比如RightEdge)的环境。 下载地址: http://ishare.iask.sina.com.cn/f/34438582.html 如发现bug,请在本帖中汇报,谢谢!