首页 / 浏览问题 / 组件GIS / 问题详情
内存释放问题
30EXP 2018年08月03日
c++iobject中关闭了数据集、数据源和工作空间,为啥内存并没有释放?

1个回答

你具体代码怎么释放的?除了关闭还需要自己调用代码释放内存
4,620EXP 2018年08月03日
UGint nugds = m_vecpWorkSpace->m_DataSources.GetCount();
            //数据源的集合
            for (UGint m = 0; m < nugds; m++)
            {
                UGString strname;
                UGDataSource* pds;
                m_vecpWorkSpace->m_DataSources.GetAt(m, strname, pds);

                UGint ndata = pds->GetDatasetCount();
                for (int id = 0; id<ndata;id++)
                {
                    pds->GetDatasetByID(id)->Close();//关闭
                }
                pds->Close();//关闭
            }

            //1.save workspace
            UGbool bSuc = m_vecpWorkSpace->Save();

            //2.close workspace
            m_vecpWorkSpace->Close();
            m_vecpWorkSpace = NULL;
上代码了
close只是关闭了,并没有释放内存,在c++里面需要使用delete释放内存
...