VC  
在MAIN 程序中定义一个MAP容器,并插入数据(数据是实时被更新的)
在分割窗口的程序中,也就是另外一个CPP文件中调用了EXTERN MAP<..>
在这个文件中遍历MAP,但数据没有被实时更新,永远都是第一次插入时的数据,WHY?如何做到实时遍历更新数据呢?main.cpp插入
 if(Ds_receive_flag==TRUE)
   {
     if(Ds_frame_count==8)TRACE("%s",receivedata);
       Ds_map.insert(map<int,CString>::value_type(Ds_frame_count,receivedata));
       Ds_frame_count++;
       }
viewchange.cpp遍历 for(map<int, CString>::const_iterator dsiter=Ds_map.begin();dsiter!=Ds_map.end();++dsiter) 
                        {
                              //TRACE("%d",dsiter->first);
                             if((dsiter->first)==m_strframe_int)
                             {
                                 CString m_dsframe=dsiter->second;
                                 RE_X=m_dsframe.Mid(strtol_int*2,2);
                                 RE_Y=m_dsframe.Mid((strtol_int+1)*2,2);
                                 if(nItem==0)
                                     TRACE("%s",RE_X);
                                 break;
                             }                        }

解决方案 »

  1.   

    你insert插入数据了吗?或者说插入成功了吗?
      

  2.   

    是不是你的VIEW里没有去调用更新后的数据?
    每次insert插入数据后发个消息给VIEW,然后在VIEW的消息响应函数里调用你那遍历的函数
      

  3.   

    现在如何实现主程序插入新数据后,viewchange.cpp里能够及时的读到新的数据?
      

  4.   

    大家不要看错哦,我是在同一个工程的另一个.cpp文件里遍历MAP,而不是说在VIEW的消息响应函数里遍历MAP