dll中数据调用的问题 [金字塔]
-
咨询内容:
我在dll中调用以下函数中data.size() 不为空。__declspec(dllexport) int WINAPI kxian(CALCINFO* pData)
{
if(pData->m_nNumData>0)
{
ChanlunCore::GetInstance()->initKx(pData);
ChanlunCore::GetInstance()->initFX();
// 返回结果集
int i=0;
KXDATA data = ChanlunCore::GetInstance()->getCkxData();
for(C_CKXIT it = data.begin(); it != data.end(); it++)
{
pData->m_pResultBuf[i] = it->flag;
i++;
}
ofstream write;
write.open("D:\\lc\\KXIAN.txt", ios::app);
write << "data.size()" << data.size() << "\n";
return 0;
}
return -1;
}
但是在第二次获取data数据时 ,data数据就获取不到了, data.size()为0.__declspec(dllexport) int WINAPI kxg(CALCINFO* pData)
{
int i=0;
KXDATA data = ChanlunCore::GetInstance()->getCkxData();
for(C_CKXIT it = data.begin(); it != data.end(); it++)
{
pData->m_pResultBuf[i] = it->high;
i++;
}
ofstream write; //write只是个名字 你可以定义为任何其他的名字
write.open("D:\\lc\\kxg.txt", ios::app);
write << "data.size()" << data.size() << "\n";
return 0;
}
这是什么情况?来源: CXH99.COM
-
金字塔客服:
您的问题正在处理,请您耐心等待。
-
用户回复:
我们进行调试的话,日志是我们的一大法宝。1要先确定数据初始化kxian()函数是不是在使用数据的kxg()函数之前调用的。2要确定ChanlunCore的single再这中间不会析构导致再第一函数中的数据被清理掉。
建议:编程时尽量保持模块的独立性,去除模块相关性,尤其是隐形相关。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容