序列模式问题 [金字塔]
- 咨询内容:
我的公式运行在序列模式下, 通过调试发现序列变量下标为1的变量一直无法使用, 而且在调试模式下一直显示为"空", 而不想其他下标预设值显示为0.000, 请问是何原因?
- 金字塔客服:
代码贴过来看看
- 用户回复:
找到原因了, 不论在DLL中对pData->m_pResultBuf[0]如何赋值,
只要return 1就会造成序列变量下标1中的内容为空,
如果return 0就不会出现问题,序列变量下标1中的内容为dll中的赋值内容。
请问,对于dll的返回值,具体包括哪些?有何意义?
另外,再请教个问题:序列模式是否无法使用DLL中定义的全局变量,每次调用时全局变量的内容好像又回到初始值了?
- 网友回复:
返回的值表示的是返回的数组的有效下标,你返回1当然表示从第二个数组才有效的了。
你可能根本就没有仔细看过DLL公式的开发文档,这里给你摘抄部分
////////////////////////////////////////////////////
/* 函数输出__declspec(dllexport) int xxxxxxxx(CALCINFO* pData);
1.函数名称需全部大写.
2.函数必须以上述形式声明,请用实际函数名称替代xxxxxxxx;
对于C++程序还需包括在 extern "C" { } 括号中.
3.函数计算结果用pData->m_pResultBuf带回.
4.函数返回-1表示错误或全部数据无效,对于序列模式返回第一个有效值位置,即:
m_pResultBuf[返回值] -- m_pResultBuf[m_nNumData-1]间为有效值.逐K线模式返回值大于等于0均表示成功*/
DLL的全局变量你没描述清楚,如果猜的没错的话,你在 工具菜单-》选项-》勾选“DLL加载内存驻留模式”即可
- 网友回复: 不好意思呀,太久没看资料,全忘了。
- 上一篇:[求助]求DLL指标如何在金字塔上显示,谢谢
- 下一篇:不能测试
相关文章
-
没有相关内容