首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Delphi中实战中用FormActivate后篇(自动关闭界面)

Delphi中实战中用FormActivate后篇(自动关闭界面)

作者头像
Vaccae
发布2019-07-25 10:50:53
7270
发布2019-07-25 10:50:53
举报
文章被收录于专栏:微卡智享微卡智享

前言

前一章我们介绍了在实战中使用FormShow和FormActivate的用法《Delphi实战中讲解FormCreate,FormShow,FormActivate》,这一篇我们主要讲解支付成功后如何自动关闭支付界面返回数据。

先上视频

还是我们这个整个动态库做完所实战演示微信支付的视频

视频内容

我们在上面的视频中可能看到,当扫码支付成功后,付款界面显示了支付成功和交易流水号后,过了大约1.5-2秒左右,付款界面就自动关闭了。

代码演示

我们还是用我们这个支付的项目

回到上章Trade.pas里面的FormActivate里面

如果按正常方式理解,我们应该都写在这个函数里面,当调用返回结果后,最后可以加上个两句代码

sleep(1500);

close;

来实现界面自动关闭。

当我们加上后运行这个程序,发现界面关没有关闭。也就是说,在FormActivate里面加上Close是不起作用的。

那我们应该用什么方式进行处理呢?其实也挺简单,我们加上一个Timer的控件,一个公共参数变量,即可实现。

界面中加上一个Timer的控件

然后在Private里面加入一个boolean的变量

然后在FormShow事件中先定义交易变量为未完成,Timer控制的间隔时间和启动。

bisTradeover := False; Timer1.Interval := 1500; Timer1.Enabled := True;

最后在在Timer控件的Timer1Timer写判断,当完成交易标志成功后就延时1.5秒然后关闭当前窗体。

这样我们每隔1.5秒就会自动检测是否完成交易,用来实现我们的窗体关闭。


-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云支付
云支付(Cloud Pay,CPay)为您提供开放、可靠的聚合收款技术服务和商户管理功能。云支付支持刷卡支付、扫码支付、一码多付多种支付方式。服务商也可使用云支付提供的 SDK 和 HTTPS 接口,将云支付集成进自己的系统中,为商户提供的个性化解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档