请问:在开发三层时,中间层要进行一个长时间的操作,怎样在操作中给客户端发进度?(100分)

  • 主题发起人 主题发起人 reedblue
  • 开始时间 开始时间
R

reedblue

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:在开发三层时,中间层要进行一个长时间的操作,怎样在操作中给客户端发进度,并使客户端不超时?
请各位大侠给指导一下,谢谢(最好详细些,偶太菜啦。。。)
 
提前一下,
 
基本不可能
 
中间层的
ADOConnection.ConnectionTime:=1000;
ADOQuery.ConnectionTime:=1000;
两个都要赋值,就成功了!
(大概意思,可能属性没写对)
 
LS的,貌似应该是 TimeOut 吧....这个值给大一些就可以了.
至于进度条嘛,可以根据要操作的记录笔数来做,如果只是一笔更新,那就让它一直跑啊跑的,直到操作结束...
 
1、你的执行逻辑不能优化?
2、如果确实需要,只能服务器用多线程,在客户端异步调用,同时不断查询服务器线程状态,比较负责。
 
逻辑有问题
 
谢谢各位大侠的提点,
>>来自:LSUPER, 时间:2008-6-3 23:31:09, ID:3898838
>>1、你的执行逻辑不能优化?
>>2、如果确实需要,只能服务器用多线程,在客户端异步调用,同时不断查询服务器线程状态,比较负责。
1、这些问题有时候还是不可避免的。
2、这个怎么实现?请指点,谢谢!偶太菜了。。。
 
ProcessMessages;
 
将很长时间的操作切分为多个服务端函数 客户端分段掉用之 这样就可以在客户端知道执行的进度了
 
用idTCPSever和idTCPClient发送消息来实现
 
后退
顶部