2014-09-01 3 views
0

J'utilise Flash CS 5.5.if J'appelle une fonction dans l'événement de clic de bouton au moment où cette erreur est venue. N'importe qui dit ce qui ne va pas?TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou une méthode d'une référence d'objet nul

Ce mon code:

var visited:Object = { 
    Movieclip: 0, 
    one: 0, 
    two: 0, 
    three: 0, 
    four: 0, 
    five: 0, 
    six: 0, 
    seven7: 0 
}; 

function saveCourseStatus():void 
{ 

    var suspend_str:String = visited.Movieclip + "," + visited.one + "," + visited.two + "," + visited.three + "," + visited.four + "," + visited.five + "," + visited.six + "," + visited.seven; 
    scorm.set("cmi.suspend_data", suspend_str); 
    scorm.save(); 
} 

Newbutton.addEventListener(MouseEvent.CLICK, Nxt); 

function Nxt(event:MouseEvent):void 
{ 
    saveCourseStatus(); 
    MovieClip(this.root).gotoAndPlay(0, "one"); 
} 

j'ai ce error.saveCourseStatus();

peError: Error #1009: Cannot access a property or method of a null object reference. 
    at New_fla::MainTimeline/saveCourseStatus()[New_fla.MainTimeline::frame98:116] 
    at New_fla::MainTimeline/Nxt()[New_fla.MainTimeline::frame98:125] 
+0

Qu'est-ce 'visited.MovieClip'? Vérifiez également si 'visited' ou' scorm' est null. – Vesper

+0

Qu'est-ce que scrom? l'avez-vous créé avant quelque part? – mGolzadh

Répondre

0

L'erreur signifie que "mépris" ou "visité" est null. Flash renvoie une erreur si vous essayez d'obtenir une propriété ou une méthode d'un objet null. Scorm et visited ont une forte possibilité de ne pas être disponibles pour la fonction saveCourseStatus en fonction de la façon dont vous avez défini et comment votre code entier est configuré. Puisque vous ne les transmettez pas en tant que paramètres à saveCourseStatus, ils doivent être des variables publiques pour saveCourseStatus pour y accéder.

En outre, votre propriété d'objet est nommé « seven7 » (notez le « 7 ») pendant que vous essayez de l'appeler en tant que « visited.seven » dans saveCourseStatus

+0

Voté en baisse. L'exécution de Flash ne renvoie pas d'erreur si: 'vous essayez d'obtenir une propriété ou une méthode d'un objet null'. C'est une fausse déclaration qui montre que vous ne comprenez pas du tout ce qui se passe. Un objet complexe non instancié est de type 'null' (yes null est un type comme MovieClip ou String), l'objet de type null n'a pas de propriété ou de méthode alors essayer d'accéder à quelque chose sur un objet de type null aboutit à une erreur. – BotMaster

+0

Lorsque j'exécute ceci: "var obj: Object; trace (obj.prop);", j'obtiens cette erreur: "TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou une méthode d'une référence d'objet nul." ce qui est Flash lançant une erreur quand j'essaye d'obtenir une propriété de l'objet nul. Est-ce une question de sémantique? J'essaie juste d'aider l'OP. Avez-vous eu une réponse pour le PO? – Dave

+0

Je ne réponds pas à la question nulle car ils sont pour débutant seulement. Votre réponse montre toujours que vous ne comprenez pas ce qu'est un objet de type null. Ce n'est pas une question de sémantique, nul n'est un type, pas un état. – BotMaster

Questions connexes