Paramètre qui ne passe pas d'une form à l'autre

Signaler
Messages postés
4
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
30 octobre 2002
-
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004
-
c'est surement trés bete, mais je tourne en rond ...
je construit un application qui utilise un activeX MFbus15.
voici un résumé du code :

dans le module déclaration:
Global Mobile_Connected as Boolean

dans le form_Menu:
Mobile_Connected = MFbus15.Connected
if Mobile_Connected then
Form_test.TEST1.Caption = "dans Menu, Mobile Connecté"
else
Form_test.TEST1.Caption = "dans Menu, Mobile Déconnecté"
end if

dans le form_option:
if Mobile_Connected then
Form_test.TEST2.Caption = "dans Menu, Mobile Connecté"
else
Form_test.TEST2.Caption = "dans Menu, Mobile Déconnecté"
end if

les 2 commandes étant placées sous des sub timers, je ne comprends pas pourquoi, dans le formulaire test, TEST1 qui provient du formulaire menu (ou est placé l'objet MFbus15), voit bien la connection alors que les autres TEST2,3... qui proviennent d'autres formulaires ne la voient pas...

Le fait d'avoir déclaré le paramètre en Global ne me permettrait pas d'exploiter sa valeur dans tous les formulaires du projet en cours ???
J'ai du oublier quelquechose ou j'ai rien compris....

merci à qui pourra m'aider
philippe de bordeaux
- apprenti programmeur -

5 réponses

Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Declare Mobile_Connected en Public:

Public Mobile_Connected as Boolean
Ca devrait fonctionner
0
Messages postés
4
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
30 octobre 2002

j'ai essaye ce que tu m'as conseille ; ca ne fonctionne pas mieux:
TEST1 (engendre par le form_menu) ne varie plus..., et donc ne detecte plus la connection ; pour les autres TEST (engendres par d'autres form, ils ne detectaient pas la connection, ça n'a pas change...)
merci de ton conseil - toute idée est bonne à essayer -

philippe de bordeaux
- apprenti programmeur -
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Met: Mobile_Connected = MFbus15.Connected avant chaque test de Mobile_Connected. Ou essaye:
If MFbus15.Connected then
...
end if
Ca devrait être le plus simple
0
Messages postés
4
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
30 octobre 2002

en fait, en manipulant mobile_connected (en essayant de le placer en public...) j'ai fini par voir qu'un affichage portait le meme nom ; j'avais alors:
mobile_connected.caption = mobile_connected
je pensais que ca ne porterait pas a consequense, et pourtant, apres avoir modifié le nom de l'etiquette, ca fonctionne bien: tous les forms voisins voient bien le mobile connecté.
merci pour ton aide.

Utiliser MFbus15 dans chaque form implique de placer l'objet dans chaque form, non ? mais comment peut on faire pour les subs situées dans un module ?
En fait, ce que j'aurais aimé faire, c'est placer toutes mes routines dans un module de telle sorte à ce que le code propre a un form ne soit que de l'appel a une procedure ou une fonction... mais, lorsque j'appelais le MFBus15 depuis le module, il n'était pas connu, alors, j'ai fini par laisser tomber... mais du coup, il y a du code un peu dans chaque form et ca deviens ... le bordel ! ...

philippe de bordeaux
- apprenti programmeur -
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Pour les sub tu fait comme ca:
Public Sub MaSub(objMFbus15 as MFbus15)
.....
end sub

tu utiliser objMFbus15 a la place de MFbus15. Par contre quand tu appelle ta sub n'oubli pas de définir objmfbus15.

MaSub (MFbus15)

ps attention le nom de l'objet c'est peut être pas MFbus15

Bonne chance
0