[Résolu] Variables dans table
Stagiaire WDF
Inscrit:
06/01/2005 11:37
Post(s): 32
Bonjour à tous.

Je souhaite créer un driver Modbus/TCP.
Je vais créer mon drivers avec mes trames mais je vais récupérer des informations en temps réel et je voudrais savoir comment mettre à jour mes variables.
Est-il possible de créer une table en global afin que mon driver puise écrire dedans et que dans un thread je puisse affecter mes variables afin de les mettres à jour dans mon synoptique?et inversement mettre à jour ma table pour que mon driver puisse écrire dans mon API?

Si vous avez d'autres solutions plus pratique, je suis ouvert à toutes suggestions.

Jo

Contribution le : 26/01/2007 08:20

Edité par drcharly93 sur 27/1/2007 1:26:22
Créer un fichier PDF de la contribution Imprimer


Re: Variables dans table
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

J'avais réalisé un développement similaire à ce que vous voulez faire. En fait le tableau global c'est ce qu'il y a de mieux à faire (Perso j'étais passé par une classe).
Un seul conseil afin de pouvoir modifier les valeurs depuis plusieurs threads en même temps il vaut mieux bloquer l'écriture de l'élément en cours dans le tableau, afin d'éviter des conflits et un plantage de l'application.
Je vous explique le princique :
- Une variable globale : bEnCoursEcriture est un booleen
- Une variable globale : bEnCoursLecture est un booleen

Dans votre procédure de modification du tableau il faudra mettre en début de procédure :

TANTQUE bEnCoursEcriture _ou_ bEnCoursLecture
    Multitache(-1)
FIN

bEnCoursEcriture = Vrai


En fin de procédure de modification, il ne faudra pas oublier :

bEncoursEcriture = Faux


Faire de même pour la procédure de lecture des données avec bEnCoursLecture.

Bon courage,

Totof

Contribution le : 26/01/2007 08:46
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: Variables dans table
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Il existe pour n'exécuter qu'une seule fois à fois une partie de code la fonction:
SectionCritiqueDebut()
  ... //Traitement
      // Deux threads ne pourront pas exécuter ce code en même temps
SectionCritiqueFin()

Pour de plus amples informations voir l'aide en ligne sur la fonction

Contribution le : 26/01/2007 13:03
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Variables dans table
Stagiaire WDF
Inscrit:
06/01/2005 11:37
Post(s): 32
Merci pour vos réponses.
Je m'aperçois que mon idée n'est pas idiote et ça fais plaisir.
Merci encore.

Contribution le : 26/01/2007 20:54
_________________
Le commencement est la moitié de tout. (PYTHAGORE)
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2