MFC界面中有相关的配置。要开启一个线程来进行计算,计算过程中需要读取界面的配置信息。需要怎么做呢?谢谢

解决方案 »

  1.   

    _beginthreadex开启贤臣后,在线程函数里GetPrivateProfile 有这个api读取ini如果是xml的配置信息,可以用 第三方库来读取,没api读取的
      

  2.   

    MFC的界面类CXXXWnd
    在类内声明一个静态线程函数,
    static UINT CXXXThread(LPVOID lp)
    定义
    UINT CXXXWnd::CXXXThread(LPVOID lp)
    {
      CXXXWnd* p = (CXXXWnd*)lp;
      //用p可以访问界面对象的所有成员,共有的,私有的,保护的,数据,函数……
      ...
    }在你需要启动此线程的时候
    AfxBeginThread(CXXXThread,this);
    就好了。
      

  3.   

    请问楼上几位,我就是把界面指针传进去,然后调用了
    STR_VEC vecResult;
    for (int i = 0; i < m_lstSelect.GetCount(); ++i)
    {
    CString strName;
    m_lstSelect.GetText(i, strName);
    vecResult.push_back(strName);
    }return vecResult;卡道不卡,就是内存泄露了。是什么原因呢? 谢谢啦
      

  4.   

    泄露一般就是NEW了没有释放 指针是NEW的吗?有没有delete?
      

  5.   

    最好把你需要的数据的指针做成一个结构或者什么东西,传递的线程中去。
    有些MFC的类不是线程安全的,可能是这个原因导致莫名其妙的内存泄漏。