| Les variables privées ne fonctionnent plus en V10.0 A4 | |
|
|
Auteur | Message |
---|
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
| Sujet: Les variables privées ne fonctionnent plus en V10.0 A4 Dim 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). Philippe. |
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Dim 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).
Philippe. Je pense que tu as voulu dire variable globale |
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Dim 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. |
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Lun 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. |
|
| |
Yann
Nombre de messages : 2861 TrainController : Gold 9.0 Localisation : Suisse - Entre Lausanne et Vevey Date d'inscription : 25/06/2007
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Ven 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
|
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Ven 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. |
|
| |
Yann
Nombre de messages : 2861 TrainController : Gold 9.0 Localisation : Suisse - Entre Lausanne et Vevey Date d'inscription : 25/06/2007
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Lun 10 Juil 2023 - 18:14 | |
| _________________ 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
|
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Mer 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. |
|
| |
Yann
Nombre de messages : 2861 TrainController : Gold 9.0 Localisation : Suisse - Entre Lausanne et Vevey Date d'inscription : 25/06/2007
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Ven 21 Juil 2023 - 14:23 | |
| Bonjour, - DeepPurple a écrit:
- Attendons la prochaine version.
Que nenni! Le comportement dans la version 10 est parfaitement juste! Le bug se situait dans la version 9, sauf que ces - Spoiler:
stupides
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
|
|
| |
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
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 Sam 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. |
|
| |
Contenu sponsorisé
| Sujet: Re: Les variables privées ne fonctionnent plus en V10.0 A4 | |
| |
|
| |
| Les variables privées ne fonctionnent plus en V10.0 A4 | |
|