您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

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  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容