Tout sur TrainController™

Forum de support et d'entraide consacré à TrainController™ logiciel d'exploitation d'un réseau modèle de trains.
 
PortailPortail  AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Les variables privées ne fonctionnent plus en V10.0 A4

Aller en bas 
3 participants
AuteurMessage
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyDim 11 Déc 2022 - 16:35

Bonjour,

Suite à deux jours de migraine à tenter de comprendre pourquoi mes macros ne fonctionnent plus, j'ai lu sur le forum de Freiwald que les variables privées ne fonctionnent plus sous V10.0 A4 (elles marchent encore en V10.0 A2 semble-t-il, mais je n'ai plus cette version). Je suppose que cela sera résolu en A5, mais quand ?

D'ici-là, la "solution" serait d'utiliser des variables locales (une bête que je n'ai jamais pu dompter).

pale

Philippe.
Revenir en haut Aller en bas
http://pdf.cachalo.be
Mcar

Mcar


Nombre de messages : 1437
Localisation : Haucourt Moulaine (54)
Emploi : en vacances éternelles
Loisirs : Modélisme ferroviaire/Usinage sur métaux/Travail sur bois/ Imprimante 3D
Date d'inscription : 29/03/2010

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyDim 11 Déc 2022 - 21:22

DeepPurple a écrit:
Bonjour,


D'ici-là, la "solution" serait d'utiliser des variables locales (une bête que je n'ai jamais pu dompter).

pale

Philippe.
Je pense que tu as voulu dire variable globale
Revenir en haut Aller en bas
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyDim 11 Déc 2022 - 23:16

Non, non. Variables locales. Ce qui ne marche pas, ce sont les variables privées. Les variables locales, globales ou liées à un objet train, canton ou trajet fonctionnent. Le mieux est donc de (provisoirement ?) remplacer les variables privées par des variables locales (pour éviter les effets de bord des variables globales).

J'expérimente une technique pour tenter de maîtriser ces variables locales. Je vous en dirai plus quand la technique sera au point.
Revenir en haut Aller en bas
http://pdf.cachalo.be
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyLun 12 Déc 2022 - 8:36

Après une nuit de réflexion, j'ai décidé d'abandonner les variables privées et de les remplacer par des variables de portée canton, trajet ou train. Voici pourquoi.

Les variables privées ne fonctionnent plus en TrainController depuis la V10A4. Que faire ?  S'asseoir et pleurer ?  Voilà qui n'est pas dans l'habitude des participants à ce forum. Alors, comment contourner le problème ?  N'oublions pas que tout contretemps est une opportunité...

Pour rappel, voir chapitre 14.14 du manuel, TrainController gère la portée des variables, conformément à leur définition.

La portée d'une variable peut être :

Globale : le contenu de la variable est commun à tous les objets et toutes les macros du réseau. Cela semble bien pratique et facile, mais est très dangereux sur un grand réseau. Car, en cas de problème, comment savoir qui a modifié une variable globale ?  Les variables globales doivent être réservées à la communication entre objets, par exemple entre deux boutons-poussoirs ou pour alimenter une zone de texte à l'écran.

Privée : chaque objet du réseau possède sa propre copie (instance) de la variable. C'était bien pratique, bien que peu économique puisque sur un réseau il y a vite des centaines d'objets et donc des centaines de copies de chaque variable privée. De toute manière, ces variables ne fonctionnent plus, débarrassons-nous-en.

Train, canton, trajet etc. : chaque train (ou canton ou trajet etc.) possède une instance de la variable. Un peu comme les variables privées, mais limité à un type d'objet.

Locale : ces variables n'existent que le temps de déroulement d'une liste d'opérations ou d'une macro. Elles ne sont accessibles qu'à cette liste d'opérations ou cette macro. Les variables locales pourraient dans bien des cas remplacer les variables privées. Malheureusement, la gestion des variables locales en TrainController est délicate car si l'on a par malheur créé, dans différentes macros, plusieurs variables locales portant le même nom, il n'est pas toujours facile de retrouver la bonne variable dans les listes de variables proposées par TrainController. Je les évite comme la peste.

Que faire alors ?  Après réflexion, sur mon réseau, je vais remplacer toutes les variables privées par des variables de portée canton, train ou trajet en fonction du contexte. La toute grande majorité des variables privées que j'utilisais peuvent être redéfinies comme variables de portée canton car, dans la plupart des cas, les macros qui les utilisent sont lancées à partir d'un bouton-poussoir lié à un canton ou depuis un marqueur contenu dans un canton.

Et, comme annoncé, le problème devient une opportunité, puisque cette méthode va clarifier la gestion des variables sur mon réseau.
Revenir en haut Aller en bas
http://pdf.cachalo.be
Yann

Yann


Nombre de messages : 2861
TrainController : Gold 9.0
Localisation : Suisse - Entre Lausanne et Vevey
Date d'inscription : 25/06/2007

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyVen 7 Juil 2023 - 12:36

Bonjour,

Par curiosité avez-vous essayé avec la dernière version labo 10A74 ?

_________________
A+ Yann  
Mes tuto vidéo sur TrainController => https://www.youtube.com/TheDigitrain <=
Consultant technique planification/création/programmation => http://www.digi-train.ch <=
TC 9,10 Gold / +SmartHand Mobile / H0 3 rails, 2 rails / Tams MasterControl et MC2 / ESU ECoS / Rétro. et commande des signaux: Selectrix SLX852 Interface / BiDiBus / PC 3,3 GHz / Win 10, 11 / iPhone 8
Revenir en haut Aller en bas
http://www.digi-train.ch/
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyVen 7 Juil 2023 - 13:49

Non, j'attends la prochaine version officielle.

J'ai eu un échange épistolaire à ce sujet avec M. Freiwald. Il reconnaît le problème, mais ne voyait pas encore comment le résoudre.
Revenir en haut Aller en bas
http://pdf.cachalo.be
Yann

Yann


Nombre de messages : 2861
TrainController : Gold 9.0
Localisation : Suisse - Entre Lausanne et Vevey
Date d'inscription : 25/06/2007

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyLun 10 Juil 2023 - 18:14

Bonjour,
DeepPurple a écrit:
Non, j'attends la prochaine version officielle.
https://traincontroller.forum-actif.net/t5975-disponibilite-officielle-de-hardware
Wink

_________________
A+ Yann  
Mes tuto vidéo sur TrainController => https://www.youtube.com/TheDigitrain <=
Consultant technique planification/création/programmation => http://www.digi-train.ch <=
TC 9,10 Gold / +SmartHand Mobile / H0 3 rails, 2 rails / Tams MasterControl et MC2 / ESU ECoS / Rétro. et commande des signaux: Selectrix SLX852 Interface / BiDiBus / PC 3,3 GHz / Win 10, 11 / iPhone 8
Revenir en haut Aller en bas
http://www.digi-train.ch/
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyMer 12 Juil 2023 - 15:03

J'ai testé les variables privées dans la version 10.0.B1. Elles ne fonctionnent toujours pas. Elles semblent se comporter comme des variables globales.

Test réalisé : incrémenter une variable privée dans une macro appelée par une fonction de véhicule. En V9, chaque véhicule gérait son instance de la variable privée. En V10.0.B, il semble n'y avoir qu'une seule instance, partagée par tous les véhicules, ce qui n'est pas l'objectif recherché.

Attendons la prochaine version. Sleep
Revenir en haut Aller en bas
http://pdf.cachalo.be
Yann

Yann


Nombre de messages : 2861
TrainController : Gold 9.0
Localisation : Suisse - Entre Lausanne et Vevey
Date d'inscription : 25/06/2007

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptyVen 21 Juil 2023 - 14:23

Bonjour,
DeepPurple a écrit:
Attendons la prochaine version. Sleep
Que nenni! Le comportement dans la version 10 est parfaitement juste! Le bug se situait dans la version 9, sauf que ces
Spoiler:
utilisateurs croyait à l'époque que ce comportement était normal!
https://www.freiwald.com/forum/viewtopic.php?f=1&t=42049

_________________
A+ Yann  
Mes tuto vidéo sur TrainController => https://www.youtube.com/TheDigitrain <=
Consultant technique planification/création/programmation => http://www.digi-train.ch <=
TC 9,10 Gold / +SmartHand Mobile / H0 3 rails, 2 rails / Tams MasterControl et MC2 / ESU ECoS / Rétro. et commande des signaux: Selectrix SLX852 Interface / BiDiBus / PC 3,3 GHz / Win 10, 11 / iPhone 8
Revenir en haut Aller en bas
http://www.digi-train.ch/
DeepPurple

DeepPurple


Nombre de messages : 474
TrainController : Gold V10 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 EmptySam 22 Juil 2023 - 4:31

Il ne reste plus qu'à adapter le guide de l'utilisateur pour y décrire proprement le "fonctionnement" des variables privées. Rolling Eyes
Revenir en haut Aller en bas
http://pdf.cachalo.be
Contenu sponsorisé





Les variables privées ne fonctionnent plus en V10.0 A4 Empty
MessageSujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4   Les variables privées ne fonctionnent plus en V10.0 A4 Empty

Revenir en haut Aller en bas
 
Les variables privées ne fonctionnent plus en V10.0 A4
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Variables étendues au type trajet, initialisation et afficha
» somme de résultats de variables (nombres)
» Emplacements d'arrets variables - jokers
» Utilisation des variables avec TCV9
» Bonnes pratiques pour la gestion des variables

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Tout sur TrainController™ :: RRTC :: Les Variables-
Sauter vers: