子窗体查询数据时,主窗体处与死机状态,怎么解决呢??? ( 积分: 100 )

  • 主题发起人 主题发起人 duwamish
  • 开始时间 开始时间
D

duwamish

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]
主窗体上用pageControl ,左侧是树形菜单,右侧动态显示各个字窗体,每个子窗体都设置了父为tabsheet,在一个查询数据的窗体上,有时一个查询要耗时20秒左右或者更高,这时就看到主窗体上的状态栏中的跑马灯也不跑了,显示的时间也停止了,怎么解决这种问题呢
 
那你执行查询使用线程 。
 
能把子窗体放到线程中吗
 
Application.ProcessMessage;
 
加了Application.ProcessMessages也不行啊,子窗体的程序只执行一个函数,就是通过调用websevice得到数据集,因为网络的原因很慢,数据大的时候要30到50秒左右,在这期间主窗体的状态栏没反应,主窗体和子窗体都是普通窗体,没有用mdi,如果用mdi就没这种事吗??目前只给了一个沙漏,本来想在主窗体的状态栏上放个进度条来显示进度表示程序未死机
 
你把查询部分代码放入线程就可以了吧。
 
我把子窗体中的查询放到线程中执行,主窗体在子查询查询时还是没有反应,
 
我觉得我说的可能不够清楚,程序通过webserive返回clientdataset的xmldata,查询是在服务器端运行,感觉是调用web service返回数据时,程序处于假死机状态,[:)]我现在用电话线拨号连接webservice,感觉就更明显了,我把调用webservice返回数据的代码放到一个线程中,还是喝不放一样的,大家调用webserive返回数据时没有碰到这种情况吗??
 

Similar threads

后退
顶部