如何解决由CreateDC函数引起的调试断言失败
调试断言失败(图片)Debug Assertion Failed有问题 当我第二次按对话框上的“打印”按钮时,会发生此问题。 (第一次工作良好) 对话框: Dialog Box
调试代码后,我猜这是我第二次创建DC时引起的。 但是我可以解释为什么,因为更安全,我通过DeleteDC()函数删除了DC。 在下面的代码中,我初始化DC并删除DC时放入了代码片段。
BOOL Druk::StartPrint()
{
//Configuration();
hDC.CreateDC(DriverName,DeviceName,OutputName,NULL);
StartDoc(hDC,NULL);
//StartPage(hDC);
return TRUE;
}
布尔Druk :: ZakonczDruk()
{
EndDoc(hDC);
//EndPage(hDC);
DeleteDC(hDC);
return TRUE;
}
解决方法
看来您正在使用MFC的CDC
类,
hDC.CreateDC(DriverName,DeviceName,OutputName,NULL);
出于对称性考虑,也可以通过该类的方法将其删除:CDC::DeleteDC
hDC.DeleteDC();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。