Visual Studio 2013中ATL和MFC的更改和修复

你好,我是 帕特·布伦纳 是VisualC++图书馆团队的开发人员。  在这个 我想和大家分享一下我们在ATL和MFC for Visual Studio 2013中所做的更改。

null

我们所做的主要更改之一是完全消除ATL DLL。  所有ATL代码现在都是静态的,无论是在头文件中还是在ATL静态库中。  我们还大大减少了ATL静态库中的代码量,因此不再有多个用于调试/发布模式或Unicode/ANSI字符集的静态库。  只有一个ATL静态库是所有配置所共有的。

ATL的变化还包括取消ATL/MFC跟踪工具和简化跟踪机制。  跟踪宏现在基本上可以归结为OutputDebugString,并且没有跟踪级别的外部控制器(就像提供的跟踪工具一样)-跟踪级别是在应用程序本身中设置的。  这确实会导致ATL::CTraceCategory类的某些用法发生源代码中断的更改,迁移到VisualStudio2013时需要更改源代码。

我们在MFC中所做的主要更改是不支持MBCS(请参阅中的更多信息) 这篇单独的博文 ).

此外,我们在MFC中修复了大约105个bug,在ATL中修复了大约60个bug。  大约四分之一的bug(在两个库中)是由客户报告的。

虽然我无法提供我们内部错误数据库中错误的完整列表,但以下是客户通过我们的Connect站点报告的错误列表,这些错误已在ATL和MFC for Visual Studio 2013 RTM中修复。单击任何连接错误编号以查看有关该错误的更多信息。  请注意,这些bug中的大多数在预览版中也已修复。

连接#

错误标题

710163

atlbase.h禁用不再存在的C4217警告

714790

AtlSafeRealloc()中无用的代码行

714791

AtlSafeRealloc()不一致地处理失败,这导致 内存泄漏

714840

CAtlServiceModuleT::LogEventEx()包含无用的检查

714802

CAtlExeModuleT::StartMonitor()中的可疑错误处理代码

742895

CComApartment::repartment()泄漏边缘大小写上的对象

736213

ATL::CComSafeArray::运算符[]歧义

764800

消费oledb宏上错误/缺少sal注释

750369

改变ATL OLE DB CCommand::Execute方法的方式 行为

774871

基于ATL库的Windows应用商店应用的认证失败

785396

卸载VS2012 Update 2并修复VS会导致ATL 文件丢失。

789669

ATL CRBMap::查找代码分析标记问题

790309

VC++11回归:错误C2338:使用v110工具集的dbu命令

745790

Visual Studio 2012 RC生成的静态MFC可执行文件 巨大的

750838

MFC使用LoadLibraryEx加载DLL,其标志仅在上受支持 窗口8

757588

CMFCRibbonBar::AddToTabs从 mu arButtons数组

763947

OnInitDialog中的EndDialog重新打开对话框

763517

实现动态生成静态链接的编译错误 MFC项目

768378

CMFCTabCtrl错误

769093

MFC编辑浏览框不显示浏览按钮。

772859

在OnInitDialog()中调用EndDialog()会导致对话框 显示两次。

750859

Visual Studio 11 Beta–在XP service pack 3中运行.exe的错误

763474

Visual C++ 2012库中检测到的错误

760371

LocalFree在CDatabase中调用了两次(MFC 11)

710858

MFC OLE服务器似乎不支持新样式的MFC  工具栏

773463

在包含afxwin.h后尝试使用DrawStatusText  导致链接错误

768257

CRecordset::GetFieldValue(短nIndex,  CDBVariant和varValue)

772549

x64 MFC宏错误–在u WM u POWERBROADCAST()上/   CWnd::OnPowerBroadcast

773448

CHttpFile::QueryInfo()返回“损坏的”cstring 长度无效。

778201

缺少MFC函数

777604

如果禁用滚动,则CWnd::GetScrollLimit返回1

781179

CMFCPopupMenu在子菜单静止时单击外部时崩溃 打开

781379

CMFCShellTreeCtrl无法正确处理某些UNC路径名

781257

MFC–CMFCTabCtrl–当样式为styleu 3Du VS2005和 SetActiveTabBoldFont()已设置

789970

发布版本中afxwin.h中的未配对pragma警告push/pop

790246

MFC:CMFCToolBarMenuButton::CompareWith中的硬类型转换错误

790975

HttpFile::QueryInfo()上的HTTP查询标志请求标头   错误地断言

792003

CMFCShellListCtrl::OnContextMenu“Delete”上下文菜单处理程序 不起作用

我希望你觉得这些信息有用。  如果您有任何问题,请告诉我们。

Pat Brenner,VisualC++开发团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享