Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fenêter modale, Agent MicroSoft et MsgBox (suite)

1 réponse
Avatar
SAISAS
même Bonjour,

suite des avatars ...

En résumé, j'utilise l'agent MicorSoft (Merlin) pour fournir une aide
méthodologique aux utilisateurs de mon logiciel. L'agent est toujours actif,
quelle que soit la fenêtre affichée, et permet de dérouler du code hors
fenêtre dans une fenêtre modale ...

Sauf que pour les InputBox et les MsgBox, j'ai un fonctionnement différent
en mode tests depuis VB, et lorsque j'exécute mon code compilé :

- Merlin ne fait rien en exécution VB lorsqu'un MsgBox est affiché, mais ne
plante pas
- Merlin travaille correctement avec un .exe, mais plante dans certains cas.

Coment faire pour identifier que je suis dans le cas d'une msgbox ou
inputbox sans encapsuler cette fonction dans le code de mon application
(créer une fonction message qui appelle MsgBox)?

En vous remerciant.

1 réponse

Avatar
SAISAS
Bonjour,

je vous demande, puis je trouve et je me réponds à moi même! :-)

J'ai toutes les explications :

1) L'affichage d'une MsgBox inhibe les événements dans le cas des tests VB,
mais n'inhibe pas les événements dans le cas d'exécutables : je n'obtiens
rien dans le premier cas, mais que je plante dans le second parce que mon
egent est appelé par un événement (l'événement command)

2) Comment savoir dans mon code si j'affiche une MsgBox : simplement
vérifire si l'élément actif est actif (stupid, isn't it?)

Donc le code

If Screen.ActiveControl.Enabled = False Then
'c'est que j'affiche un message (CQFD)
End If

Et en plus ça marche!

"SAISAS" a écrit :

même Bonjour,

suite des avatars ...

En résumé, j'utilise l'agent MicorSoft (Merlin) pour fournir une aide
méthodologique aux utilisateurs de mon logiciel. L'agent est toujours actif,
quelle que soit la fenêtre affichée, et permet de dérouler du code hors
fenêtre dans une fenêtre modale ...

Sauf que pour les InputBox et les MsgBox, j'ai un fonctionnement différent
en mode tests depuis VB, et lorsque j'exécute mon code compilé :

- Merlin ne fait rien en exécution VB lorsqu'un MsgBox est affiché, mais ne
plante pas
- Merlin travaille correctement avec un .exe, mais plante dans certains cas.

Coment faire pour identifier que je suis dans le cas d'une msgbox ou
inputbox sans encapsuler cette fonction dans le code de mon application
(créer une fonction message qui appelle MsgBox)?

En vous remerciant.