我创建了一个MDI工程,子窗体上放置两个ClientSocket(与服务器通信用)
在子窗体的RichEdit显示与服务器通信的过程中,发现主窗体无法响应其它的消息直到所有的通信过程结束。
请问各位大侠,应该怎样才能让,richedit在显示通信过程信息的过程中同时能够响应其它的消息,在此先谢谢各位了!

解决方案 »

  1.   

    用多线程处理通信过程?或者强行Application.ProcessMessages;不过这个效果可能不太好
      

  2.   

    我用过Application.ProcessMessage,但是没有能解决问题
      

  3.   

    多线程实现起来很麻烦,况且Socket与后台的通信不就是启的线程么?
      

  4.   

    socket通信是一种面向连接的通信,当然无法响应其它消息,好象创建子线程是最好的方法,并不难,很简单。
      

  5.   

    我觉得我用的Socket是非阻塞模式的,按道理来说不应该影响窗体相应其它消息的呀?
    即便使用多线程的话,要么把通信过程封到线程中,要么把将通信内容显示到界面的过程显示到线程中。通信过程是Socket自动创建的线程,要是封到线程中就没什么意义了;
    除非是显示过程影响了主界面响应消息,但是对MDI来说,应该不会出现这种情况的。