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去。
相关文章
-
没有相关内容