2

PBアプリケーションから呼び出されている実行時間の長いストアドプロシージャがあります。UIに処理中であることを示すインジケーターを表示したいのですが、正確な進行状況がわかりません。つまり、10%なのか90%なのかはわかりません。私が知っているのは、それがいつ行われるかだけです。

ユーザーに何かを見てもらうために、ウィンドウのどこかに「不確定」(水平)プログレスバーを配置したいと思います。組み込みのHProgressBarコントロールのドキュメントを見ましたが、この動作を強制する方法がわかりません。

自分のコントロールを作成したり、別のコントロールをインポートしたりする以外に、これを実現する方法はありますか?

4

2 に答える 2

2

Powerbuilderにはこれを行うための組み込みの方法は含まれていませんが、Win32コントロールを使用できます。これに関する良い記事があります(プログレスバーの例が含まれています!):

これは古い記事ですが、Powerbuilderの新しいバージョンにも適用されます。

于 2010-04-02T15:20:01.233 に答える
0

制御するのがやや難しい状況。PowerBuilderはマルチスレッド化されていないため、ストアドプロシージャの実行中にアプリケーションUIを正しく更新することはできません。

制御が返される前に、操作が完了するのを待つ必要があります。

過去に、長時間の操作が進行中であることを示すアニメーションを表示しました。アニメーションコントロールを使用すると、SPの実行中も再生が継続されます。

于 2010-04-10T18:55:38.827 に答える