欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 指标里面调用了dll,为什么刚开始正常,后来双击一次,就显示解释错误。

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4780人关注过本帖树形打印复制链接

主题:指标里面调用了dll,为什么刚开始正常,后来双击一次,就显示解释错误。

帅哥哟,离线,有人找我吗?
qq代人发帖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
指标里面调用了dll,为什么刚开始正常,后来双击一次,就显示解释错误。  发帖心情 Post By:2014/11/25 14:23:51 [只看该作者]

请教:我指标里面调用了dll,为什么刚开始正常,后来双击一次,指标就不能正常显示了,显示解释错误。
我dll里面只是返回了一个常数,不可能有错误,dll的函数没有任何逻辑,直接返回的常数

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/25 14:40:30 [只看该作者]

我补充一下,主K线图下面的两个附图指标就是我那个调用dll的指标DLLT。
第二个附图指标,就是一行红柱子的那个是正常的。第一个附图指标本来也是这样子,但是双击左侧“管理面板”中的其他指标后,在切换会这个DLLT指标,就没显示了,还提示“第5行 错误:解释错误”,其实我第5行是这一句:中轨:=MA(CLOSE,3)/100;  者不可能有错误的。
另外我dll的函数中为了检查错误,现在里面不含任何逻辑,直接给*pData->m_pResultBuf 赋了一个常数值就返回了,不会有错误。我也留意到这是运行在 逐K模式 的。代码也是针对逐K模式来写的

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/11/26 13:49:03 [只看该作者]

出现解析错误,通常都是你的DLL中出现了内存越界,导致异常终止.

建议你还是检查一下你的DLL中,指针的有关操作吧



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/26 14:10:37 [只看该作者]

__declspec(dllexport) int DKFUNC(CALCINFO* pData)
{
//运行在逐K模式下

*pData->m_pResultBuf = 88;

return 1;

}

 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/26 14:16:09 [只看该作者]

__declspec(dllexport) int DKFUNC(CALCINFO* pData)
{
//运行在逐K模式下

*pData->m_pResultBuf = 88;

return 1;

}

这就是其中一个函数的代码,另外一个也是一样的,只是返回的是另一个常数。

我已经把代码简化成这样了,依然是第一个运行指标正常,切换到其他指标,在切回来就不正常。
如果代码有问题的话,那第一次运行就会不正常吧

 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/26 15:03:14 [只看该作者]

在补充一点,这个现象只出现在指标公式中。
同样的dll用在交易系统中就是正常的

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/11/26 16:35:25 [只看该作者]

这个情况的原因很多的,比如你的代码是不是有什么资源没释放等等.

建议你使用金字塔自带的DLL公式范例,运行不经修改的范例看看能否问题还是出现,使用排除法逐步排查问题



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/26 17:15:50 [只看该作者]

软件带的demo    FmlDevelope是针对序列模式来写的,我用的K线模式,demo里只有一段代码,而且还屏蔽了。
我这个工程,除了函数里面的两行代码是我自己改的,然后在头文件里面加了函数的生命。其余都是copy的FmlDevelope,啥都没加,而且我自己写的两行代码也贴出来了
不会存在其他什么资源没释放的原因了
我电脑系统是win8  64位系统,用的是vs2012


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/11/26 17:20:45 [只看该作者]

自带的范例有2种模式的范例,建议你仔细好好从头看看



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
monarch
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
  发帖心情 Post By:2014/11/26 18:54:26 [只看该作者]

我写的代码都发出来了,就两句话。除了这两行,就头文件加了一个声明,runmode改了一下返回值。啥都没有了
其余都是你们demo代码。

要不你们把我这两句代码整一个k线模式的dll工程吧,然后让客服通过qq发给我。应该不需要超过2分钟工作量吧,也让我对比一下哪里出的问题



 回到顶部
总数 16 1 2 下一页