Voici l'affaire. Le formulaire principal est défini sur fsNormal
. Cette forme principale est agrandie en plein écran avec une barre d'outils flottante. La barre d'outils est de forme normale avec le style défini sur fsStayOnTop
.Delphi fsStayOnTop oddity
Le plus souvent, cela fonctionne comme prévu. La forme principale s'affiche et la barre d'outils flotte au-dessus.
Parfois (c'est un bougre de trouver un ensemble reproductible d'étapes) lorsque alt-Tabulation vers et à partir d'autres applications (ou en cliquant sur l'icône de l'application Delphi sur la barre des tâches), les symptômes suivants peuvent se produire:
Lorsque l'alt-tabulation loin de l'application Delphi le formulaire flottant supérieur
fsStayOnTop
reste au-dessus des autres applications. Donc, si je alt-tab pour Firefox, le menu flottant reste également sur Firefox. En cas de tabulation alt d'une autre application vers l'application Delphi, le menu flottant n'est pas visible (car il est derrière la mainformfsNormal
).
Est-ce un bogue connu ou existe-t-il des hacks pour le forcer à fonctionner? Cela semble également se produire le plus souvent lorsque plusieurs copies de l'application sont en cours d'exécution (elles n'ont aucune interaction entre elles et devraient être exécutées dans leur propre "sandbox"). C'est comme si Delphi devenait confus quelle fenêtre est censée être sur le dessus et les échange ou change la forme flottante pour rester sur le mode tout le temps. Ou ai-je mal compris? fsStayOnTop
? Je suppose que la définition d'un style de formulaire à fsStayOnTop
le fait rester au-dessus de tous les autres formulaires dans l'application actuelle et pas toutes les fenêtres à travers d'autres applications en cours d'exécution.
Encore une question. Comment puis-je définir un style de formulaire pour rester au-dessus de SEULEMENT un autre formulaire (dans ce cas la mainform)? Ensuite, je peux changer les dialogues pour ne pas fsstayontop et quand ils activent je peux leur dire de rester seulement au-dessus de la mainform? PS, désolé d'avoir répondu à ma propre question. Je n'avais pas réalisé que j'aurais dû commenter plutôt que de répondre. – TallGuy
oui, vous devriez déplacer toute cette information en éditant votre question. –