窗体的show和showmodal有什么区别?
我做了一个小程序,要在socket的接收数据事件下做一些动作,比如收到某个个协议后就显示一个窗体,为什么我用show方法显示时窗体一出来就没反应了?用showmodal动态加载窗体时,加栽的窗体是没问题了,但关了加载的窗体后,后面的主窗又没反应了,怎么点都没有一点反应,实在是晕,请大虾帮忙。

解决方案 »

  1.   

    show出来的就和一般一样,你可以在其显示后操作其它窗体;
    showmodal出来的就是你必须在其关闭后才能继续其它操作。
    你在show之后在不需要的时候再free它,若show后马上free它,它就会一闪就没了;
    showmodal后你关闭不能再操作后面的窗体,用断点跟踪一下是不是有死循环之类
      

  2.   

    SHOW方法是后面的窗口可以继续用,而showmodal同这个方法相反
      

  3.   

    用show的化,应该在父类Form关闭使来free 这个窗体,不能动态创建并free,
      

  4.   

    是的,一旦showmodal窗体,整个程序就停止响应了。但是,我发现如果用线程就没事。你可以把socket坐在线程里面。这样也很合理。我发现这个是在Tmediaplayer控件的。出现关于对话框以后,他后面还继续放音乐。