我在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;
}
这是什么情况?