我从PB应用程序调用了一个有点长时间运行的存储过程。我希望UI显示它正在处理的指示器,但我不知道确切的进度。也就是说,我不能说是完成了10%还是90%。我所知道的就是它何时完成。
为了给用户一些东西,我想在窗口的某处放置一个“Inderterminate”(水平)进度条。我查看了内置HProgressBar控件的文档,但没看到如何强制这种行为。
如果没有编写我自己的控件或导入另一个控件,有没有办法实现这个目标?
答案 0 :(得分:2)
Powerbuilder不包含内置方法,但您可以使用Win32控件。这里有一篇很好的文章(其中包括一个进度条的例子!):
这是一篇较旧的文章,但它仍然适用于较新版本的Powerbuilder。
答案 1 :(得分:0)
要控制一些困难的情况。由于PowerBuilder不是多线程的,因此在存储过程运行时,应用程序UI将无法正确更新。
在返回控件之前,必须等待操作完成。
过去,我已经展示了一个动画来说明长时间运行的操作正在进行中。如果您使用动画控件,它将在SP运行时继续播放。