J'ai une procédure stockée relativement longue qui est appelée à partir d'une application PB. Je veux que l'interface utilisateur montre un indicateur qu'elle traite, mais je ne connais pas les progrès exacts. Autrement dit, je ne peux pas dire si c'est fait à 10% ou à 90%. Tout ce que je sais c'est quand c'est fait.Barre de progression indéterminée PowerBuilder
Pour donner à l'utilisateur quelque chose à regarder, je voudrais mettre une barre de progression "Inderterminate" (horizontale) sur la fenêtre quelque part. J'ai regardé la documentation pour le contrôle HProgressBar intégré et ne vois pas comment forcer ce comportement.
À moins d'écrire mon propre contrôle ou d'en importer un autre, y a-t-il un moyen d'y parvenir?
Bien que vous ayez un bon point, il n'est pas tout à fait exact que PB n'est pas multi-thread. Vous pouvez créer des threads avec SharedObjectRegister(), et il existe un Asymc DB Parm qui peut être applicable ici. Cependant, en fonction du poids de l'impact sur les performances, l'OP peut vouloir générer un thread pour effectuer la récupération pendant que le thread principal exécute l'interface graphique. Si la plus grande partie de l'overhead est dans le transfert de données, cela peut être fait dans un thread avec RetrieveRow, bien que cela ait son propre impact sur les performances. – Terry