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

Utilisation Me, problème engendré ???

2 réponses
Avatar
LE TROLL
Bonjour à tous :o)

Alors, en fait, j'ai deux problèmes, je pense
que ça peut venir de l'utilisation du "Me" lancé
avec les forms, il en résulte des form qui ne se
ferment pas, mais se mettent si l'on peut dire en
Hide et surtout, un bouton qui disparaît
visuellement, qui, si on clique est toujours là...

Aui je sais... ne riez pas, ça m'est déjà
arrivé ce problème de bouton invisible, ça fait
aussi parfois disparaître la forme lancée de la
barre de tâche en bas, parfois... J'avais réglé ça
en biaisant, que je m'explique :

J'ai une grande forme en n°1, qui prend
presque l'écran, et les autres formes qui
s'appellent depuis la n°1 (mais pas de mdi),
autres forms qui sont plus petites, alors, pour ne
pas les perdre visuellement, je les lances toutes
ainsi avec Me:

load formX
formX.Show , Me

Il y a quelques jours, les premiers symptômes
sont apparus: par moments, la form refusait de se
fermer (par la [X]). Puis c'est passé ?

Jusqu'à hier soir, oh, pas très tard, dans une
des forms appelé avec le fameux "Me", je lance une
boucle assez infernale, très longue, avec un
DoEvant dedans, évidemment, elle se lance par un
bouton, et je visualise pour contrôle, son index
dans un TextBox.

Et donc hier, après avoir lancé ma boucle par
le bouton, je ferme à la croix système, ma forme
en plein élan. Puis je la rappelle, et, oh
surprise, la boucle tournait toujours (je le
voyais au textBox qui affichait les indices) !

Je crée une procédure Unload à la forme,
dedans je mets un flag, que je répercute dans ma
boucle... vous avez deviné la suite : je dis à la
boucle (eh oui, je lui parle), si flag = X then
Exit Sub. Et le flag devient X grâce à l'Unload de
la form...
Ça marche, quand je rappelle la form, tout s'est
arrêté, la boucle, enfin, ouf !

Mais... mais, je n'ai plus le bouton de
lancement de la boucle, disparut! Pourtant je le
vois bien qu'il est là, car, quand je passe la
souris dessus, je vois la petite main que
j'affiche au-dessus du bouton, même que si je
clique, ça lance la boucle, mais point de bouton !

Face à cette rébellion, j'apporte tous les
soins de la médecine moderne, je mets le bouton
invisible dans le Load, puis visible dans
l'Activate, en profitant pour lui mettre un
Refresh, ainsi qu'à la form...

Mais rien ne se passe, mon bouton est toujours
invisible!

Alors, j'en viens aux question, oui, en fait,
si j'écris ici, c'est pour poser une question,
c'est la moindre des choses, n'est-ce pas :o)

Tout se passe, vous l'aurez compris, comme si,
une forme appelée avec Show , Me, quand on la
ferme avec la croix système, donc Unload, ne se
fermait pas, mais devenait Hide seulement?
Etonnant, je sais... peut être avez-vous déjà eu
ça ?

Alors, est-ce qu'avec Me dans un Show
d'ouverture de form, il y a quelque chose de
particulier à faire pour en somme, quand on ferme
la form, comme le désactiver (le Me) ?

Certes, je peux biaiser, mettre une picture à
la place du bouton, et remplacer le Me par une
API, mais là, juste à mon problème, y voyez-vous
des indices, une solution ?

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------

2 réponses

Avatar
LE TROLL
Pour continuer:

Je viens de mettre deux boutons de même
nom (0, 1)

Rappelons que l'énorme boucle se réalise
dans le bouton, et que c'est ce dernier qui a le
focus...

Si je mets les 2 bouton un au dessus de
l'autre, les deux s'effacent, mais si je les mets
à côté l'un de l'autre (les deux renvoyant donc à
la même grosse boucle), et ben, celui qui s'efface
est celui qui a été appelé avant que la form ne se
ferme, ainsi, si j'ouvre à nouveau la form, c'est
le second bouton qui est présent, et plus le
premier; et alternativement, celui qui a eu le
focus le dernier, sur lequel j'ai appuyé, ne
s'affiche pas au relancement (une fois que
l'application est lancée par la form principale
(1)) ???

Un problème de focus, du dernier objet qui
s'efface, bizarre ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"LE TROLL" <le a écrit dans le
message de news:
%
| Bonjour à tous :o)
|
| Alors, en fait, j'ai deux problèmes, je pense
| que ça peut venir de l'utilisation du "Me" lancé
| avec les forms, il en résulte des form qui ne se
| ferment pas, mais se mettent si l'on peut dire
en
| Hide et surtout, un bouton qui disparaît
| visuellement, qui, si on clique est toujours
là...
|
| Aui je sais... ne riez pas, ça m'est déjà
| arrivé ce problème de bouton invisible, ça fait
| aussi parfois disparaître la forme lancée de la
| barre de tâche en bas, parfois... J'avais réglé
ça
| en biaisant, que je m'explique :
|
| J'ai une grande forme en n°1, qui prend
| presque l'écran, et les autres formes qui
| s'appellent depuis la n°1 (mais pas de mdi),
| autres forms qui sont plus petites, alors, pour
ne
| pas les perdre visuellement, je les lances
toutes
| ainsi avec Me:
|
| load formX
| formX.Show , Me
|
| Il y a quelques jours, les premiers symptômes
| sont apparus: par moments, la form refusait de
se
| fermer (par la [X]). Puis c'est passé ?
|
| Jusqu'à hier soir, oh, pas très tard, dans
une
| des forms appelé avec le fameux "Me", je lance
une
| boucle assez infernale, très longue, avec un
| DoEvant dedans, évidemment, elle se lance par un
| bouton, et je visualise pour contrôle, son index
| dans un TextBox.
|
| Et donc hier, après avoir lancé ma boucle par
| le bouton, je ferme à la croix système, ma forme
| en plein élan. Puis je la rappelle, et, oh
| surprise, la boucle tournait toujours (je le
| voyais au textBox qui affichait les indices) !
|
| Je crée une procédure Unload à la forme,
| dedans je mets un flag, que je répercute dans ma
| boucle... vous avez deviné la suite : je dis à
la
| boucle (eh oui, je lui parle), si flag = X then
| Exit Sub. Et le flag devient X grâce à l'Unload
de
| la form...
| Ça marche, quand je rappelle la form, tout s'est
| arrêté, la boucle, enfin, ouf !
|
| Mais... mais, je n'ai plus le bouton de
| lancement de la boucle, disparut! Pourtant je le
| vois bien qu'il est là, car, quand je passe la
| souris dessus, je vois la petite main que
| j'affiche au-dessus du bouton, même que si je
| clique, ça lance la boucle, mais point de bouton
!
|
| Face à cette rébellion, j'apporte tous les
| soins de la médecine moderne, je mets le bouton
| invisible dans le Load, puis visible dans
| l'Activate, en profitant pour lui mettre un
| Refresh, ainsi qu'à la form...
|
| Mais rien ne se passe, mon bouton est
toujours
| invisible!
|
| Alors, j'en viens aux question, oui, en fait,
| si j'écris ici, c'est pour poser une question,
| c'est la moindre des choses, n'est-ce pas :o)
|
| Tout se passe, vous l'aurez compris, comme
si,
| une forme appelée avec Show , Me, quand on la
| ferme avec la croix système, donc Unload, ne se
| fermait pas, mais devenait Hide seulement?
| Etonnant, je sais... peut être avez-vous déjà eu
| ça ?
|
| Alors, est-ce qu'avec Me dans un Show
| d'ouverture de form, il y a quelque chose de
| particulier à faire pour en somme, quand on
ferme
| la form, comme le désactiver (le Me) ?
|
| Certes, je peux biaiser, mettre une picture à
| la place du bouton, et remplacer le Me par une
| API, mais là, juste à mon problème, y voyez-vous
| des indices, une solution ?
|
| --
| Merci beaucoup, au revoir et à bientôt :o)
| ------
| Romans, logiciels, email, site personnel
| http://irolog.free.fr/joe.htm
| ------------------------------------------------------------------------------------
|
|
Avatar
Christian Hugoud
A mon avis tu cherches les pb avec ton approche des Me et de doevents.

Un truc qui marche :

depuis la feuille de fond (au travers d'un bouton, menu ou ce que tu veux),
tu affiches une nouvelle instance d'une feuille (MaForme). Mais tu
l'affiches en Modal. Quand elle se ferme, depuis ce code qui a permi de
l'afficher, tu fais :

unload MaForme
set MaForme = nothing

Elle doit alors se décharger. Si ce n'est pas le cas, c'est que dedans tu as
des variables qui pointent d'autres objets, et ces variables ne sont pas
mises à Nothing.

Hope this helps

Christian