您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 其他期货软件知识>>正文内容

dll 开发例程FmlDevelope.zip 编译后函数返回的数据不正确 [金字塔]

  • 咨询内容:

    编译环境 winxp + vs2005

    金字塔版本:2011(v2.75)

     

     

    编译了安装目录下的例程FmlDevelope,发现接口函数返回的数据是错误的,比如"STOCKFUNC@MYMACLOSE"(5)

     

    请问是不是接口的数据结构有变化?而例程没有更新造成的?或者其他原因?

     

  • 金字塔客服: 等待高手回答

     

  • 用户回复: 能用C++的在我眼里都是高手~

     

  • 网友回复:

    有可能找到问题原因了:一会儿回去试一下

    http://www.likai.net.cn/tabid/78/EntryId/23/KA1001-DLL-VS2010.aspx

     

    这里是引用李凯学堂发的帖子:

    下面我就详细列出整个过程:

    1、金字塔的安装目录有一个 FmlDevelope.zip 压缩文件,其中包含了完整DLL扩展接口的接口示例,以及在.H头文件里的接口使用信息描述。注意压缩包内的这个接口工程文件是VC++6.0的格式的。

    2、解压缩了FmlDevelope.zip以后,在VS2010中打开StockFunc.dsw工程文件,VS2010会提示你需要转换,你选择确认转换,转换完成后的工程文件,如果立即编译的话也可以通过的,不会报错,但是到金字塔下面调用的时候,会出错。原因是接口文件中的类型time_t在金字塔里面是解释成32位的,但是在VS2010里面缺省的是编译成64位的,所以当DLL解释金字塔传递过来的时间时就出现了问题。

    3、为了让VS2010把接口中的time_t编译成32位,我们需要在头文件中增加一个预定义宏
    #define _USE_32BIT_TIME_T  //使用32位的时间格式
    然后再编译就可以和金字塔正常通信了。

     

  • 网友回复: 楼主,按4楼的方法你试过能解决问题吗?如果能的话我也下个VS2010去。

【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容