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)?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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)?
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)?