社区成员已将此帖子与类似的问题关联:
VS2022 debug模式下代码运行错误,怎么回事,如何解决?

只有审查方才能编辑此内容。

MFC 下定义的CMFCColorPickerCtrl和CMFCColorButton这两个组件为何在Debug模式下报错,在RELEASE 模式下运行就正常,出现错误该如何解决,怎么处理?

SUN 20 信誉分
2024-07-12T05:25:37.35+00:00

Debug出现的错误怎么解决?

CMFCColorPickerCtrl PickerCtrl;

COLORREF m_Color;

CString m_strRGBColorDialog;

CMFCColorPickerCtrl m_wndColorPalette;

CString m_strRGBColorPalette;

CMFCColorPickerCtrl m_wndLum;

CMFCColorButton m_ColorPicker;

CStatic m_wndColorBarFrame;

CStatic m_wndColorBarFrame2;

CMFCColorBar m_wndColorBar;

afx_msg void OnColorPalette();

afx_msg void OnLum();

void CMFCApplication1Dlg::OnColorPalette()

{

COLORREF color = m_wndColorPalette.GetColor();

m_strRGBColorPalette.Format(_T("%d,%d,%d"), GetRValue(color), GetGValue(color), GetBValue(color));

m_wndLum.SetColor(color);

UpdateData(FALSE);
```}

void CMFCApplication1Dlg::OnLum()

{

```r
COLORREF color = m_wndLum.GetColor();

m_strRGBColorPalette.Format(_T("%d,%d,%d"), GetRValue(color), GetGValue(color), GetBValue(color));

m_wndColorPalette.SetLuminance(m_wndLum.GetLuminance());

UpdateData(FALSE);
```}

C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
144 个问题
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Minxin Yu 11,756 信誉分 Microsoft 供应商
    2024-07-12T09:23:11.4433333+00:00

    您好,

    根据文档:
    In the Release version of MFC, ASSERT does not evaluate the expression and thus will not interrupt the program.
    This function is available only in the Debug version of MFC.

    所以release模式下代码不会报错。
    提供的代码并不完整,错误是由未提供的代码产生的。

    请仔细比较项目代码与示例代码中其他代码的区别:
    https://github.com/microsoft/VCSamples/tree/master/VC2010Samples/MFC/Visual%20C%2B%2B%202008%20Feature%20Pack/NewControls


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释