none
为什么*pMainFrame初始化了值还是0xcccccccc?hwnd的值怎么获得呢? RRS feed

  • 问题

  • 为什么*pMainFrame初始化了值还是0xcccccccc该句为CMainFrame *pMainFrame = (CMainFrame*)pWnd
    hwnd 的值如何获得呀?调试总是指向这句。很多hwnd的值找不到,根源都是*pMainFrame的找不到。怎么找到呢?谢谢!

    2009年12月18日 7:10

答案

  • 0xcccccccc 是Debug模式下填入的值。

    如果你确认CMainFrame *pMainFrame = (CMainFrame*)pWnd; 已经得到了执行,而*pMainFrame == 0xcccccccc  说明,你pWnd指针的值就不对。只能是沿着pWnd 线索向上找了。查找给pWnd 指针赋值的语句,设上断点,运行程序,看看到底是因为pWnd 赋值的语句没有被执行,还是执行了赋值就是错了。


    2009年12月18日 9:04
    版主

全部回复

  • 0xcccccccc 是Debug模式下填入的值。

    如果你确认CMainFrame *pMainFrame = (CMainFrame*)pWnd; 已经得到了执行,而*pMainFrame == 0xcccccccc  说明,你pWnd指针的值就不对。只能是沿着pWnd 线索向上找了。查找给pWnd 指针赋值的语句,设上断点,运行程序,看看到底是因为pWnd 赋值的语句没有被执行,还是执行了赋值就是错了。


    2009年12月18日 9:04
    版主
  • 好的 ,谢谢 !
    2009年12月18日 9:27
  • 哦,我在这句上面设了断点,值依旧是0xcccccccc,说明没有执行,应用程序功能课件结构层窗口、属性窗口,关闭窗口都实现不了,点击就出现调试提示,点击调试后在堆栈窗口有该项目的模块名,点击模块名,绿色箭头直接指向的就是这句。这句不是带有错误的一句吗?那我该怎么找到错误的地方呀?谢谢了

    2009年12月18日 10:03
  • 不好意思,没看懂你说的是什么。
    2009年12月18日 13:35
    版主
  • 主界面的属性窗口没有实现,在窗口菜单栏里点击属性窗口,则出现调试提示,我该怎么找到错误的地方呢?是不是程序逻辑上有错误导致功能实现不了?在主界面的程序某一地方设置断点,按F10后就出现Unhandled exception  in VCIMA.exe:0xC0000005:Access Violation.点击确定后,黄色箭头直接指向了 程序的 int group = m_pFloatPageInfo[0].group;这句。
    2009年12月21日 1:52