Suite au passage de la version 3.4 à la version 3.5 certaines actions requièrent des paramètres supplémentaires (comme Touche par exemple)
et lors de la montée de version mes scripts ne s'exécutaient plus.
y a-t-il une moulinette pour mettre à jour des scripts créés avec une version 3.4 d'Actionaz pour qu'ils puissent tourner en Actionaz 3.5 sans erreur ?
Cette moulinette rajouterait le paramètre nombre de répétitions en le mettant à 1 comme valeur par défaut pour chaque action touche
autre piste : actionaz pourrait-il prévenir que le script a été créé avec une version d'actionaz pouvant générer des incompatibilités ?
(il y a dans le début du fichier .ascr une version d'actionaz et une version de script qui sont renseignées; ce serait l'occasion d'utiliser ces variables)
autre piste : actionaz 3.5 pourrait présupposer lors d'une action touche que le nombre de répétition est à 1. Cette valeur serait écrasée pour un script en version 3.5, et ne bloquerait pas l'exécution d'un script codé avec la version 3.4.
mise à niveau de scripts existants
Re: mise à niveau de scripts existants
C'est un point important qui doit être résolu, j'avais justement ajouté un numéro de version aux actions pour permettre une conversion automatique mais j'ai oublié de l'utiliser dans le cas de cette action. Je vais ajouter ça dès que possible, merci de l'avoir signalé. Donc non, pas d'outil de conversion pour le moment, mais ça doit être directement intégré aux actions de toute façon.
Heureusement les actions ont aussi un numéro de version qui pourra être utilisé pour convertir les paramètres.
C'est déjà le cas, notamment lors du changement de version du script : un avertissement est affiché lorsqu'on ouvre un script plus ancien et une erreur lorsqu'il s'agit d'un script plus récent. Mais ce numéro de version est conçu pour les changements de format de script, pas pour les changements de paramètres d'actions.autre piste : actionaz pourrait-il prévenir que le script a été créé avec une version d'actionaz pouvant générer des incompatibilités ?
(il y a dans le début du fichier .ascr une version d'actionaz et une version de script qui sont renseignées; ce serait l'occasion d'utiliser ces variables)
Heureusement les actions ont aussi un numéro de version qui pourra être utilisé pour convertir les paramètres.
Je pense ajouter une méthode de conversion aux actions, quelque chose comme "void convertFrom(Version oldVersion)" qui serait appelé lorsqu'on ouvre un script qui contient une version plus ancienne d'une action. Quand ça sera codé je ferais une passe sur les modifications qui ont été apportées aux actions depuis la version 3.0.0 et j'augmenterai le numéro de version de ces actions.autre piste : actionaz 3.5 pourrait présupposer lors d'une action touche que le nombre de répétition est à 1. Cette valeur serait écrasée pour un script en version 3.5, et ne bloquerait pas l'exécution d'un script codé avec la version 3.4.
"My software never has bugs. It just develops random features."
Re: mise à niveau de scripts existants
À ce sujet j'ai ajouté deux choses dans la version 3.7.0 (à paraître) :
* En cas de paramètre manquant la valeur par défaut est automatiquement choisie, fini le message d'erreur obscur lors de l'exécution d'un script ancien
* Lors de l'ouverture d'un script ancien une fonction est appelée pour chaque définition d'action, cela permet de convertir d'anciens paramètres si nécessaire
* En cas de paramètre manquant la valeur par défaut est automatiquement choisie, fini le message d'erreur obscur lors de l'exécution d'un script ancien
* Lors de l'ouverture d'un script ancien une fonction est appelée pour chaque définition d'action, cela permet de convertir d'anciens paramètres si nécessaire
"My software never has bugs. It just develops random features."