2013-10-02 6 views
0

Quand je lance mon programme, je reçois l'erreur suivante (pas d'erreurs du compilateur signalé):

ReferenceError: Error #1069: Property 20 not found on Number and there is no default value. 
    at src.shared.campaign.ships::ShipClasses$cinit() 
    at global$init()[docs\src\shared\campaign\ships\ShipClasses.as:4] 

C'est la première fois que je l'ai rencontré cette erreur. ShipClasses.as est une définition de classe avec des constantes statiques et des méthodes. Les constantes sont des tableaux qui contiennent les types de données String et uint ainsi que les tableaux imbriqués. Je ne sais pas par où commencer à chercher l'erreur.

+0

Bienvenue sur SO, un peu de code de la zone affectée peut aider. Essayez d'ajouter un bloc de code aux stacktraces et au code (j'aimerai pouvoir mais vous ne pouvez pas suggérer de petites éditions comme ça) – porfiriopartida

Répondre

0

Bien que le code serait utile pour localiser le problème exact. Mais, ce que l'erreur raconte est que dans la ligne 4 de ShipClasses.as vous accédez à une propriété nommée '20' sur un objet qui est de type Number. Depuis, Number n'a pas une telle propriété, d'où l'erreur.

0

Le problème était que j'avais omis une virgule dans une définition statique de la constante d'un tableau imbriqué, donc l'erreur d'exécution transformer un élément de tableau dans une propriété de numéro:

const CONST statique: Array = [20, 16 [20, 18]];

Code corrigé: statique const CONST: Array = [20, 16, [20, 18]];

Bien sûr, ceci est un exemple simplifié du problème. Les tableaux réels étaient beaucoup plus grands et comptaient environ 40 définitions. Il était donc difficile à reconnaître, d'autant plus qu'aucun numéro de ligne n'est donné lorsqu'il y a une erreur d'exécution $ cinit.

Est-ce que quelqu'un sait comment trouver les numéros de ligne dans un cas comme celui-ci?