Masquer sous formulaire

Bonjour

Je souhaite masquer un sous formulaire au bout de 2 secondes…
mon minuteur de mon formulaire est déjà pris pour autre chose…

Je souhaite donc gérer avec le minuteur de mon sous formulaire.
J’ai donc dans ma méthode de sous formulaire :
<code 4D>
: (Événement formulaire code=Sur minuteur)
APPELER FORMULAIRE(<>FenHome;“SousForm_Message_Masquer”)
</code 4D>

Mais comment faire pour appeler <code 4D>
Fixer Minuteur
</code 4D> à l’affichage de mon sous formulaire :?:

Bonjour,

Si c’est un problème de modifier l’événement minuteur, il est toujours possible de passer par un process séparé.
Le process s’endort 2 secondes à l’ouverture puis appelle le formulaire. Fermez le ban !

: Stanislas CARON

Bonjour,

Si c’est un problème de modifier l’événement minuteur, il est
toujours possible de passer par un process séparé.
Le process s’endort 2 secondes à l’ouverture puis appelle le
formulaire. Fermez le ban !

Une opportunité pour tester les workers :sunglasses:

Pas sûr que ce soit une bonne idée d’endormir un worker. Ça va bloquer toute la pile.

Pour pouvoir déclencher l’événement sur chargement afin de fixer mon minuteur dans mon sous formulaire, j’appelle la commande <code 4D>
OBJET FIXER SOUS FORMULAIRE(SousForm_Message;“Message_Classer”)

</code 4D> et c’est OK :wink:

: Matthieu LAMPERIERE

mon minuteur de mon formulaire est déjà pris pour autre chose…
Quand j’ai besoin du minuteur pour déclencher plusieurs choses, je stocke “quelque part” ce que le minuteur devra faire quand il sera déclenché (avant, c’était une variable, maintenant c’est Form) :

<code 4D>
Form.surMinuteurQueFaire:=“ceci”
SET TIMER(120) //dans 2 secondes
</code 4D>

Quand le minuteur se déclenche , je lis cette valeur pour savoir que faire :

<code 4D>
If (event form=On Timer)
SET TIMER(0)
Case of
:(Form.surMinuteurQueFaire=“ceci”)
faireCeci
:(Form.surMinuteurQueFaire=“cela”)
faireCela
End case
Form.surMinuteurQueFaire:=""
End if
</code 4D>

Vous êtes encore en deçà de ce qu’il peut se faire; on peut même gérer une file d’elements à gérer dans le minuteur via un simple tableau…

Pas testé, mais une collection dans le Form devrait faire également l’affaire :wink:
A y réfléchir, on pourrait même ajouter des ordres de priorités.

CALL FORM comme CALL WORKER gère la pile des messages pour vous…

Bien sûr, mais je pensais qu’on parlait juste de l’événement sur minuteur…
On peut jongler aussi avec différents événements sur appel extérieur.