我在次线程中定义了一个CEdit类指针,但发现一个问题,如图:这是什么意思??我用下面代码调用output时出现了错误!!!
output=(CEdit*)GetDlgItem(IDC_SHOWTEXT);
output->LineScroll(output->GetLineCount());
本人菜鸟,望好心人赐教!

解决方案 »

  1.   

    这种做法是不安全地。因为你用指针操作他的时候,不知道他现在的状态是如何的。所以应该用消息方式,通过PostMessage或者SendMessage去通知CEdit所在窗体,去LineScroll否则,有一定几率崩溃(空闲时则不会崩溃)
      

  2.   

    是这个问题吗???我在此线程中对这控件做其他操作时没有任何问题,感觉应该是调用output这个指针的原因!!这又是什么意思??????????????????????
      

  3.   

    output=(CEdit*)GetDlgItem(IDC_SHOWTEXT);
    你这个图肯定是断点在上面的时候截的
    当程序执行完上面那句后output肯定就会获得ID为IDC_SHOWTEXT的编辑框的内存空间
    output->LineScroll(output->GetLineCount());
      

  4.   

    截图里面output没有取到IDC_SHOWTEXT的指针?
      

  5.   

    次线程?
    在线程中,你怎么能直接访问窗口控件呢?
    传窗口类指针
    CXXDlg* d = (CXXDlg*) param;
    CEdit* e = (CEdit*) d->GetDlgItem(IDC_EDIT);