社区
Delphi
帖子详情
这问题难道没人能回答?!
Barbarian
2000-09-07 09:31:00
通常在长时间处理过程中,我们可以定期地调用Application.ProcessMessages来实现
界面刷新,但现在我遇到一个问题:在三层结构中,客户端程序依次调用异地DCOM服务器上的一系列函数,而这些函数的处理时间均比较长,我不知该如何处理客户端界面的刷新,在此特向各位大虾求教。
...全文
305
9
打赏
收藏
这问题难道没人能回答?!
通常在长时间处理过程中,我们可以定期地调用Application.ProcessMessages来实现 界面刷新,但现在我遇到一个问题:在三层结构中,客户端程序依次调用异地DCOM服务器上的一系列函数,而这些函数的处理时间均比较长,我不知该如何处理客户端界面的刷新,在此特向各位大虾求教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tms2000
2000-09-13
打赏
举报
回复
old=Now;
Repeat
Application.ProcessMessages;
Until Now>Old+Num* 1/24/60/60
JGTM2000
2000-09-08
打赏
举报
回复
Sayhigh is all right. Use a UI thread to handle such situation. Be careful to match the threading model of the COM components you are calling, or you will get serious performance trouble.
c1005
2000-09-08
打赏
举报
回复
会不会使用COM 的 Callback 编程模式,如果会的话,可在应用服务器再将收到的data进行处理,即取出data中的每条记录,将记录的每个字段读出,作为参数传递给另一数据库服务器上的存储过程,然后执行存储过程时这段业务过程中加上相应调用回调方法,在回调方法应有Application.ProcessMessages语句,这样就可以将应用服务器的处理进度反馈给客户端,且Application.ProcessMessages语句的目的就是处理客户端界面的刷新。
Callback 编程方法就是在应用服务器上新增一个接口,在定义相应的方法,然后在客户端采用接口对象的方式实现此接口,例如:
客户端:
TClientCallback = class(TAutoIntfObject, IClientCallback(应用服务器上的接口))
protected
procedure Progress(param1: 类型); safecall;
end;
procedure TFrmClient.FormCreate(Sender: TObject);
var
typelib: ITypeLib;
begin
OleCheck(LoadRegTypeLib(LIBID_CallbackServer, 1, 0, 0, typelib));
FClientCallback := TClientCallback.Create(typelib, IClientCallback);
end;
procedure TFrmClient。BtnServerClient(Sender: TObject);
begin
MDCOMConnection1.AppServer.Refresh(FClientCallback);
end;
Server 端:
procedure TServer.Refresh(FClientCallback :OleVariant);
begin
OleVariant(IDispatch(FClientCallback)).Progress(参数);
...
end;
iforever
2000-09-08
打赏
举报
回复
我不知道你说的那些和客户端刷新有什么联系.
你做的这些事我也做过.
把你的刷新任务讲清楚些.
你的问题并没有讲清楚
是需要定期实时刷新速度太满.
还是手工刷新太慢
Barbarian
2000-09-07
打赏
举报
回复
很感激playpcgame和c1005两位的回答,但在DCOM server上执行Application.ProcessMessages的方法我也曾试过,好像只能处理服务器本身的刷新,对客户端的刷新却无能为力,至于将服务器端的函数分拆固然是个不错的主意,但对我却无多大意义,因为
我这里的具体处理流程是这样的:客户端从本地局域网上的数据库服务器上取得若干数据集,然后将每个数据集分别以data的形式发送给异地应用服务器,应用服务器再将收到的data进行处理,即取出data中的每条记录,将记录的每个字段读出,作为参数传递给另一数据库服务器上的存储过程,然后执行存储过程.这个流程如果一变,将给我增加很多工作量,因此不到万不得已是不会
去改变这基本流程的。
c1005
2000-09-07
打赏
举报
回复
你只需要在COM Server 上的方法中的相应的位置上加上Application.ProcessMessages;语句就能够如何处理客户端界面的刷新
playpcgame
2000-09-07
打赏
举报
回复
见服务器端的函数进行分拆,减少执行时间
playpcgame
2000-09-07
打赏
举报
回复
将服务器端的函数进行分拆,减少执行时间
Sayhigh
2000-09-07
打赏
举报
回复
用线程处理.
互联网大厂技术面试内幕
很多求职者往往并非因为技术不好,而是没有掌握面试的技巧导致不能把握机会,本课程的目的就是本课程先通过比较真实的好简历和不好的简历让大家明白自己的简历有哪些
问题
,事实上简历是大厂的敲门砖,非常重要,很多人得不到大厂青睐就是
问题
出在简历上。面试会遇到内推,猎头推荐,那么这里面又会有什么不同和需要注意的地方呢?面试之前肯定要准备准备,怎么样才可以比较好的准备,甚至押宝押准呢?面试都需要做自我介绍,你做的自我介绍怎么样才可以让面试官有兴趣听呢?面试一些常见的高频面试题会是哪些呢?互联网大厂一般喜欢怎么问
问题
呢?面试总是会遇到一些很难
回答
的
问题
,比如你为何离职?诸如此类的
问题
处理不好,即使技术环节答的很好也有可能翻船。其他例如怎么谈出理想的薪资,面试等通知阶段该注意什么。
服务器重装系统后风扇声音大,服务器,你安静一点好不好?!噪音大令人头疼,一招便可解决!...
原标题:服务器,你安静一点好不好?!噪音大令人头疼,一招便可解决!服务器,你安静一点好不好?!相信许多机房工作人员都曾发出过这样的呐喊。服务器在运行的时候总是有声音的,但声音过大的话就是噪音了,未免令人头疼。今天我们就通过一则客户服务案例,来看看服务器噪音过大的
问题
怎么解决。
问题
现象服务器安装Windows服务器系统,进入系统大约两分钟,风扇噪音开始变得非常大。原因分析服务器自检风扇运行界面,进...
为什么你的
问题
群里没人
回答
?这就是原因!
请明确: 没有人有义务教你,教你的人都是“天使”,拥有着乐于助人的心。
Java 死,前端凉?!斗胆说点真话
大家好,我是鱼皮,上次直播的时候有同学问我:怎么看待 “Java 已死、前端已凉” 的言论?我其实一直不太想
回答
这种
问题
,因为一个人一个看法,争议会比较大,但是最近看到身边有一些同学 “无脑转行” 的情况,还是决定来客观分析下这个
问题
。推荐观看视频版:https://www.bilibili.com/video/BV1YN411J74Y/
HR问:假如公司给不到你期望的薪资怎么办?这个
问题
该如何体面地
回答
?
对大多数人而言,跳槽就是为了涨薪,工作就是为了挣钱。但如果面试时hr问:假如公司给不到你期望的薪资呢?面对这种
问题
,该怎么
回答
才体面?来看一波网友的机智
回答
:有人委婉拒绝,说“愿贵司早日找到合适的员工”、“希望后面有机会与贵司合作”。有人说首先赞赏一下公司的面试表现,但由于细节匹配不足,很遗憾不能和你们共事,有缘再见。有人以其人之道还治其人之身,反问对方“假如我的能力达不到你们期望呢?”“假如我干...
Delphi
5,388
社区成员
262,731
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章