2009-11-14 11 views
17

Je suis en train d'écrire quelque chose dans Flash/AS3, et je suis tombé sur ce problème:flash AS3: ReferenceError: Erreur # 1056: ne peut pas créer des biens

ReferenceError: Error #1056: Cannot create property txtInput on package.name.DocumentClasss

Fondamentalement, j'ai une classe de documents, et je peux créer des instances de clips movieclips et compiler sans problèmes. Mais quand je mets un champ de texte de saisie (icône "T" dans la palette) sur la scène, et il refuse de compiler, avec l'erreur ci-dessus. Je ne sais pas si cela fait une différence, mais j'écris mon ActionScript dans FlashDevelop, avec une compilation faite dans l'EDI Flash. J'ai également les deux Strict Mode et Warnings Mode sélectionnés sous Publish Settings -> Flash -> Script -> Settings... -> Errors.

J'ai cherché des solutions à cette ligne, et les seules suggestions semblent être de ne pas insérer le champ de texte sur le cerf dans Flash IDE, et de les créer dynamiquement dans la classe de document.

Existe-t-il une meilleure solution?

Merci

+0

Publiez la pile et la ligne (avec un contexte) où l'erreur est levée. –

Répondre

28

Il semble que vous avez « déclarer automatiquement les instances de stade » sans contrôle et donc si vous voulez ajouter un nommé cas, vous devez déclarer dans votre classe

import flash.text.TextField; 
... 
public var txtInput:TextField; 
... 

Vous pouvez trouver le paramètre declare stage instances dans l'onglet flash dans les propriétés de votre film et en cliquant sur "settings" à côté de Script: Actionscript 3 selectbox.

Personnellement, j'ai toujours cette case non cochée, cela vous force à déclarer les instances dans votre classe et vous pouvez mieux suivre ce qui se passe.

+0

Merci! Vous aviez raison de déclarer que les instances de scène n'étaient pas cochées, c'est le comportement que je voulais. Mon erreur était que je déclarais les champs de texte comme 'flash.text.TextField' mais comme TextInput à la place. J'ai été perplexe parce qu'il me donnait une erreur de référence au lieu d'une erreur de type. – bguiz

+0

Où est l'option: "Déclarer automatiquement les instances d'étape" trouvé? –

+2

Si vous allez publier les paramètres, sélectionnez l'onglet "flash" vous devriez avoir un bouton "Paramètres" à côté de la selectbox affichant "actionscript 3" Dans cette fenêtre, vous pouvez décocher "déclarer automatiquement les instances de scène" – Les