sale bug JS ! Littéral de la chaine n'a pas de limite !
#1
Pour recréer le bug

- créez un équipement universel
- attachez-le à un connecteur HTTP ou TCP/IP (pas essayé avec les autres)
- créez une variable "x" de format string
- tapez le code javascript suivant:
Code :
var x = "A" + "B" + "C";
- sauvez votre équipement
- exécutez le code JS, x vaut à présent "ABC" (vérifiable avec un widget)
- modifiez le code de la manière suivante:
Code :
var x = "A\n" + "B" + "C";
- sauvez votre équipement
- exécutez le code JS, un widget affichant la valeur de x afficherait "A" et "BC" sur deux lignes différentes
- modifiez encore le code
Code :
var x = "A\n" + "B\n" + "C";
- sauvez
- ca plante avec le code "Littéral de la chaine n'a pas de limite (declarations#xxx)"

Le problème vient très nettement de l'emploi double du "\n" mais aussi de l'exécution du code JS (par un widget ca fait la même chose mais sans le message d'erreur (car on est dans le DS?) ).
Le plus étonnant est que si vous tapez directement le dernier code ci-dessus, sans passer par les autres étapes, vous arriverez à sauver votre code et à l'exécuter (et à afficher dans un widget "A","B" et "C" sur 3 lignes différentes). Mais ça plantera la prochaine fois que vous modifierez le code et le sauverez.

J'ai essayé de bypasser le problème avec
Code :
var r = "\n";
var x = "A" + r + "B" + r + "C";

mais ça plante tout autant dès qu'on modifie à nouveau le code après l'avoir exécuté ...

Conclusion: pas moyen d'avoir une variable JS avec deux "\n" ???? Est-ce normal ? Est-ce que ça peut se corriger ?
Merci de vos réponses.

EDIT: j'ai oublié de dire qu'une fois qu'on a le message, on a beau enlever le "\n" qui pose problème (ou les enlever tous les deux ou réécrire tout à fait autre chose) ça plante à chaque sauvegarde avec le même message. La seule solution étant de virer la commande JS (ce qui casse tous les liens dans les WIDO/WISEE) et de tout réécrire

PS: après un rapide test, le problème ne se pose pas pour "\t" ... EDIT 2: par contre, même problème pour "\r" !!
www.osmotiq.com, domotique, développement logiciel et web -- tests & tutoriels KNX, Lifedomus, ZWave, etc.
Twitter: osmotiq
Répondre
#2
Merci pour ce cas bien détaillé, cela nous à permis de le corrigé. Cela sera disponible dans la prochaine mise à jour.

Julien
Répondre
#3
Super !
Y a pas de quoi pour le "cas bien détaillé" ... étant moi-même programmeur, je sais à quel point ça peut être difficile de trouver l'origine d'un bug. :D
www.osmotiq.com, domotique, développement logiciel et web -- tests & tutoriels KNX, Lifedomus, ZWave, etc.
Twitter: osmotiq
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Connecteur IP Denon et message d'erreur "la littérale de la chaine n'a pas de limite" zozotte 6 9,064 01-08-2016, 11:27 PM
Dernier message: zozotte
  decomposition d une chaine de caractere joketoons 3 5,928 03-23-2014, 10:09 PM
Dernier message: tilleul



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)