PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Problèmes sur variables avec applications multi-instances
Problèmes sur variables avec applications multi-instances
Started by guest, Apr., 04 2006 8:31 PM - 5 replies
Posted on April, 04 2006 - 8:31 PM
Bonjour,

Je rencontre un problème en lançant plusieurs instances d'une même application!!
L'application en question récupère des données provenant du port COM que je lui ai affecté! Cela marche très bien en mono-instance! L'application paramétrée pour le port COM1 ne récupère pas les données du port COM2 et ne récupère que ce qui provient du port COM1. Le paramétrage ce fait en affectant un numéro (1,2, ...) à une variable globale "Port".
Dès que je lance 2 instances de l'appli, je n'ai plus rien qui fonctionne et chaque instance récupère des données des 2 ports quelque soit le paramétrage.
On dirait que la variable "Port" et partagée entre les deux instances et pas propre à chaque lancement.
Quelqu'un a-t-il une solution à mon problème? Où stocker l'affectation du port pour ne pas qu'il y ait de confusion en multi-instance?

Merci de votre aide.
Florence POUGET
Posted on April, 04 2006 - 9:35 PM
Chaque instance a ses propres variables globales.
Il faudrait sans doute chercher du côté du paramétrage.

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Florence POUGET" <guest@newsgroup.fr> a écrit dans le message de news:
443295e8@news.pcsoft.fr...
Bonjour,

Je rencontre un problème en lançant plusieurs instances d'une même
application!!
L'application en question récupère des données provenant du port COM que
je lui ai affecté! Cela marche très bien en mono-instance! L'application
paramétrée pour le port COM1 ne récupère pas les données du port COM2 et
ne récupère que ce qui provient du port COM1. Le paramétrage ce fait en
affectant un numéro (1,2, ...) à une variable globale "Port".
Dès que je lance 2 instances de l'appli, je n'ai plus rien qui fonctionne
et chaque instance récupère des données des 2 ports quelque soit le
paramétrage.
On dirait que la variable "Port" et partagée entre les deux instances et
pas propre à chaque lancement.
Quelqu'un a-t-il une solution à mon problème? Où stocker l'affectation du
port pour ne pas qu'il y ait de confusion en multi-instance?

Merci de votre aide.
Florence POUGET
Posted on April, 04 2006 - 11:43 PM
Bonjour,

Si les variables se mettent à passer d'une appli à l'autre, on est très mal.
Je pense que ce n'est pas par là qu'il faut chercher.
Stockez-vous les parametres de communication dans un fichier ?
Utilisez-vous une librairie commune qui stockerait les infos ds un fichier ?
Les 2 ports ne pointeraient-ils pas sur la meme plage mémoire ?
Regardez au niveau du matériel ou du pilote s'il s'agit d'une carte additionnelle.
Un petit test avec Hyperterminal serait à prévoir en premier lieu. Si ça marche, le matériel n'est pas en cause.

Voilà en vrac ...

Bon dev
PEGOS
Posted on April, 05 2006 - 11:24 AM
Bonjour,

Je viens de faire des tests sous hyperterminal et tout marche bien donc le matériel et OK!!
Je n'utilise pas de librairie commune et je ne stocke pas ma variable dans un fichier. Ma variable "Port" est définie et initialisée dans la première fenêtre de mon projet.
Comment savoir si les deux variables pointent sur la meme plage mémoire ?

Le truc c'est que ça ne plante que lorsque les deux applis sont lancées en même temps sur le même poste!! Est-ce qu'il y a des paramétrages a faire au niveau du projet pour les applis multi-instances?

Merci de votre aide!!!
Florence POUGET
Posted on April, 05 2006 - 11:51 AM
Florence POUGET a exposé le 05/04/2006 :
Bonjour,

Je viens de faire des tests sous hyperterminal et tout marche bien donc le
matériel et OK!! Je n'utilise pas de librairie commune et je ne stocke pas ma
variable dans un fichier. Ma variable "Port" est définie et initialisée dans
la première fenêtre de mon projet. Comment savoir si les deux variables
pointent sur la meme plage mémoire ?

Le truc c'est que ça ne plante que lorsque les deux applis sont lancées en
même temps sur le même poste!! Est-ce qu'il y a des paramétrages a faire au
niveau du projet pour les applis multi-instances?

Merci de votre aide!!!
Florence POUGET


Bonjour,

Dans l'init du projet, je mettrai qq chose comme ça:

si exedéjalancé alors
port=1
sinon
port=2
fin

JD

--
Posted on April, 05 2006 - 12:57 PM
Re bonjour,

Bon j'essaye de cerner un peu plus mon problème !!
En fait, la fenêtre qui a le focus recupère les données des COM 1 et 2 quelque soit le contenu de sa variable "Port". Si aucune des 2 fenêtres n'a le focus, aucune des 2 ne récupère de données ! Par contre, si je fais un petit affichage de test, style un Info(Port), quand l'appli récupère les données des ports com, ben là tout marche nickel. Je m'explique, si je suis avec le focus sur la fenêtre paramétrée pour le com1 et que je saisie des données avec le port com2, le popup info s'affiche en arrière plan sur la fenêtre en com2, et les données sont récupérées dans la bonne fenêtre après le clic sur "ok" du popup!!!

Est-ce que c'est données permette à quelqu'un de mieux cerner l'origine de mon problème??
Merci d'avance pour vos réponses!!

Florence POUGET