点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
问题是CR会泄漏内存,尤其是在使用查看器时。 我发现这篇文章描述了处置该内存的正确方法:
在我的代码中,我使用的是此处描述的方法:
http://www.codeproject.com/Articles/12308/Using-WinForms-controls-in-an-MFC-dialog
问题是在C ++中,我无法调用-> Dispose()。 它告诉med改为调用析构函数〜ReportViewer。
有人可以提供一个示例,说明如何正确结束屏幕上的报告以释放所有内存吗? 这就是我现在所拥有的,它已经改善了以前的13Mb泄漏,使其现在低于1Mb:
void CFloaterDlg :: OnClose() { CrystalDecisions :: CrystalReports :: Engine :: ReportDocument ^ Report; 报告=(CrystalDecisions :: CrystalReports :: Engine :: ReportDocument ^)m_Viewer-> ReportSource; 报告-> Close(); // m_Viewer-> ReportSource = nullptr; m_Viewer->〜CrystalReportViewer(); //删除m_Viewer; // GC :: Collect(); GC :: WaitForPendingFinalizers(); GC :: Collect(); // // CDialog :: OnClose(); // m_Viewer.DestroyWindow(); DestroyWindow(); } 问题是如何以及何时销毁基础ReportDocument。 查看器是否保存数据副本? 即可以在查看器之前销毁ReportDocument吗?
从此处获取最新更新:
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
仍然感到困惑。 当我在Crystal日志文件中看到此消息时,我将假定不再有资源在使用,并且垃圾回收将释放内存?
也。 我有点想知道我的原始问题中指出的ReportDocument和Viewer之间的关系。
一周热门 更多>