OVH Cloud OVH Cloud

Problème Cancel + unload ???

2 réponses
Avatar
LE TROLL
Bonjour,

En form 1 (1ere ouverte), j'ai ça

Sub Picture3_Click(Index As Integer) ' plis 0=défenseurs, 1=preneur ' (1)
If Index = 0 And plis_defenseurs = True Then Form10.Show vbModal
If Index = 1 And plis_preneur = True Then Form10.Show vbModal
End Sub

En form 10 appelé donc depuis form 1, j'ai ça:

Sub Command1_Click() ' (2)
Form10.Hide
End Sub

Sub Form_Unload(Cancel As Integer) ' (3)
Cancel = (-1)
End Sub

--En fait--
Dans la 10 je charge des images, alors pour ne pas les perdre, ou avoir à
les mettre en variable ou en fichier pour les retrouver, une fois chargée,
je laisse la form 10 chargée (visible ou pas), donc j'interdis son
déchargement.

Toutefois = problème, quand j'active dans la form 10 la croix de fermeture,
évidemment comme je l'ai bloqué, ça ne se ferme pas, mais ensuite je ne peux
plus fermer le programme (form 1), on dirait que le cancel reste valable à
(-1) de la form 10 à la form 1, et ainsi la form 1 refuse sa fermeture et
celle du programme (unoad form1: unolad form10: end)

Bon, je vais voir du côté du Cancel si je ne peux pas faire quelque chose,
mais en attendant: avez-vous un remède en conservant mon principe ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------

2 réponses

Avatar
LE TROLL
Ah, j'ai trouvé une piste, ce serait peut être à cause du vbmodal, la
form10.show vbmodal, puis form10.hide, reste en vbmodal est prend le focus
quand on veut fermer le programme par la form1...

Et la form 10 n'aime guère ceci:

Form10.Hide vbModeless

Je ne sais pas comment faire, je n'ai jamais eu ce problème à résoudre,
peut-on passer de vbmodal en vbModeless sans fermer la feuille, comment ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"LE TROLL" <le a écrit dans le message de news:

Bonjour,

En form 1 (1ere ouverte), j'ai ça

Sub Picture3_Click(Index As Integer) ' plis 0=défenseurs, 1=preneur ' (1)
If Index = 0 And plis_defenseurs = True Then Form10.Show vbModal
If Index = 1 And plis_preneur = True Then Form10.Show vbModal
End Sub

En form 10 appelé donc depuis form 1, j'ai ça:

Sub Command1_Click() ' (2)
Form10.Hide
End Sub

Sub Form_Unload(Cancel As Integer) ' (3)
Cancel = (-1)
End Sub

--En fait--
Dans la 10 je charge des images, alors pour ne pas les perdre, ou avoir à
les mettre en variable ou en fichier pour les retrouver, une fois chargée,
je laisse la form 10 chargée (visible ou pas), donc j'interdis son
déchargement.

Toutefois = problème, quand j'active dans la form 10 la croix de
fermeture, évidemment comme je l'ai bloqué, ça ne se ferme pas, mais
ensuite je ne peux plus fermer le programme (form 1), on dirait que le
cancel reste valable à (-1) de la form 10 à la form 1, et ainsi la form 1
refuse sa fermeture et celle du programme (unoad form1: unolad form10:
end)

Bon, je vais voir du côté du Cancel si je ne peux pas faire quelque chose,
mais en attendant: avez-vous un remède en conservant mon principe ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------




Avatar
LE TROLL
Merci :o)

Ouais, je n'ai jamais eu à résoudre ça, de passer de modal en modeless sans
fermer la feuille, effectivement c'est sans doute impossible, oh dans ce cas
je ne vais pas me fatiguer, je vais mettre les coordonnées des images en
variable, et aller les rechercher dans la feuille hide toujours ouverte pour
piocher les images, merci encore (pour info, il s'agit de montrer le dernier
pli au tarot, le dernier pli fait)...

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"SAISAS" a écrit dans le message de news:

Bonjour,

plusieurs remarques :

1. tu ne peux pas ouvrir une feuille non modale depuis une feuille modale,
donc si ton form1 doit être modal, tu ne peux plus revenir dessus tant que
les feuilles appelées n'ont pas été fermées

2. Je ne sais pas exactement ce que fait hide sur une feuille modale, mais
à
mon avis rien de bon si ce n'est planter ...

3. Pour moi, l'une des rares possibilités d'interagir avec l'utilisateur
lorsqu'une feuille modale est active, c'est cette feuille est ses enfants
ou
l'agent Microsoft.

Donc, soit tu trouves une astucze style agent Microsoft pour dialoguer
avec
l'utilisateur, soit tu réaffiches une nouvelle occurence de ta form1.

Sans garantie, le code suivant devrait marcher :

Set Newform1 = New Form1
Me.hide
NewForm1.Show vbModal
Me.Show (ou Unload Me)

Bon courage !!!

"LE TROLL" a écrit :

Ah, j'ai trouvé une piste, ce serait peut être à cause du vbmodal, la
form10.show vbmodal, puis form10.hide, reste en vbmodal est prend le
focus
quand on veut fermer le programme par la form1...

Et la form 10 n'aime guère ceci:

Form10.Hide vbModeless

Je ne sais pas comment faire, je n'ai jamais eu ce problème à résoudre,
peut-on passer de vbmodal en vbModeless sans fermer la feuille, comment
???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"LE TROLL" <le a écrit dans le message de news:

> Bonjour,
>
> En form 1 (1ere ouverte), j'ai ça
>
> Sub Picture3_Click(Index As Integer) ' plis 0=défenseurs, 1=preneur '
> (1)
> If Index = 0 And plis_defenseurs = True Then Form10.Show vbModal
> If Index = 1 And plis_preneur = True Then Form10.Show vbModal
> End Sub
>
> En form 10 appelé donc depuis form 1, j'ai ça:
>
> Sub Command1_Click() ' (2)
> Form10.Hide
> End Sub
>
> Sub Form_Unload(Cancel As Integer) ' (3)
> Cancel = (-1)
> End Sub
>
> --En fait--
> Dans la 10 je charge des images, alors pour ne pas les perdre, ou avoir
> à
> les mettre en variable ou en fichier pour les retrouver, une fois
> chargée,
> je laisse la form 10 chargée (visible ou pas), donc j'interdis son
> déchargement.
>
> Toutefois = problème, quand j'active dans la form 10 la croix de
> fermeture, évidemment comme je l'ai bloqué, ça ne se ferme pas, mais
> ensuite je ne peux plus fermer le programme (form 1), on dirait que le
> cancel reste valable à (-1) de la form 10 à la form 1, et ainsi la form
> 1
> refuse sa fermeture et celle du programme (unoad form1: unolad form10:
> end)
>
> Bon, je vais voir du côté du Cancel si je ne peux pas faire quelque
> chose,
> mais en attendant: avez-vous un remède en conservant mon principe ???
>
> --
> Merci beaucoup, au revoir et à bientôt :o)
> ------
> Site de MES LOGICIELS
> http://irolog.free.fr
> Site éditeur de MES ROMANS édités
> http://irolog.free.fr/romans
> mon adresse EMail
> http://irolog.free.fr/ecrire/index.htm
> ------------------------------------------------------------------------------------
>
>