2009-11-14 7 views
17

ich etwas schreibe in Flash/AS3, und ich kam in diesem Problem:Flash-AS3: Referenceerror: Error # 1056: Kann nicht Objekt erstellen

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

Im Prinzip habe ich eine Dokumentenklasse, und ich kann Erstellen Sie Instanzen von MovieClips-Clips und kompilieren Sie ohne Probleme. Aber wenn ich ein Eingabe-Textfeld ("T" -Symbol in der Palette) auf der Bühne, und es sich weigert, mit dem obigen Fehler zu kompilieren.

Ich bin mir nicht sicher, ob dies einen Unterschied macht, aber ich schreibe meine ActionScript in FlashDevelop, mit Kompilierung in der Flash IDE gemacht. Ich habe auch beide Strict Mode und Warnings Mode unter Publish Settings -> Flash -> Script -> Settings... -> Errors ausgewählt.

Ich habe online nach Lösungen gesucht, und die einzigen Vorschläge scheinen darin zu sein, das Textfeld nicht in die Flash IDE einzufügen und stattdessen dynamisch in der Dokumentklasse zu erstellen.

Gibt es eine bessere Lösung?

Dank

+0

Veröffentlichen Sie den Stacktrace und die Zeile (mit einigen Kontext), wo der Fehler ausgelöst wird. –

Antwort

28

Es klingt wie Sie haben unkontrolliert und damit „automatisch Stufe Instanzen deklarieren“, wenn Sie ein namens Instanzen hinzufügen möchten, müssen Sie es in Ihrer Klasse erklären

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

Sie können die Einstellung der Stage-Instanzen deklarieren auf der Flash-Registerkarte in Ihren Filmeigenschaften und klicken Sie auf "Einstellungen" neben Script: Actionscript 3 selectbox.

Persönlich habe ich immer deaktiviert, so dass Sie die Instanzen in Ihrer Klasse zu deklarieren und Sie können besser verfolgen, was vor sich geht.

+0

Vielen Dank! Du hattest recht, wenn du Stufeninstanzen deaktiviert hast, das ist das Verhalten, das ich wollte. Mein Fehler war, dass ich die Textfelder als 'flash.text.TextField' deklarierte, aber stattdessen als TextInput. Ich war ratlos, weil es mir einen Reference Error anstatt eines Type Error gab. – bguiz

+0

Wo ist die Option: "Stage-Instanzen automatisch deklarieren" gefunden? –

+2

Wenn Sie die Einstellungen veröffentlichen, wählen Sie die Registerkarte "flash" aus. Sie sollten eine "Einstellungen" -Schaltfläche neben der Auswahlbox mit "actionscript 3" haben. In diesem Fenster können Sie die Option "Instanzen automatisch deklarieren" deaktivieren – Les

Verwandte Themen