ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
 

Compiler-Fehler 


Das Folgende ist eine Liste der Kompilierungsfehler, die der Compiler erzeugt, wenn er auf einen ungültigen Code trifft. Einige dieser Fehler werden nur im strikten Kompilierungsmodus erfasst. Im strikten Modus werden drei Einschränkungen eingesetzt, die in der Standardsprache nicht vorhanden sind:

  • Ausdrücke haben statische Datentypen und Datentypenfehler sind Überprüfungsfehler.
  • Zusätzliche Überprüfungsregeln erfassen häufig auftretende Programmierungsfehler.
  • Überprüfungsfehler werden vorab gemeldet. Die folgenden Überprüfungsfehler treten nur im strikten Modus auf:
    • Signaturübereinstimmung bei Funktionsaufrufen; hierbei wird die Anzahl der angegebenen Parameter und deren Datentyp überprüft.
    • Konflikte aufgrund doppelt vorhandener Definitionen.
    • Nicht gebundene Verweise, die beim Zugriff auf Methoden oder Eigenschaften auftreten, die während der Kompilierung nicht definiert sind.
    • Versiegelte („sealed“) Objekte, denen Eigenschaften dynamisch hinzugefügt werden.
    • Schreiben in konstante Variablen.
    • Löschen von festen Eigenschaften.
    • Vergleiche von Ausdrücken, die inkompatible Datentypen verwenden.
    • Nicht gefundene Pakete.


 CodeNachrichtBeschreibung
 1000Nicht eindeutiger Verweis auf %s. Eventuell wird auf mehrere Objekte gleichzeitig verwiesen. Beispielsweise werden in dem folgenden Code die Namespaces rss und xml verwendet. Jeder Namespace definiert dabei einen anderen Wert für die Funktion hello(). Diese Fehlermeldung wird von der Anweisung trace(hello()) ausgegeben, weil sie nicht feststellen kann, welcher Namespace verwendet werden soll.
private namespace rss;
private namespace xml;
    
public function ErrorExamples() {
  	use namespace rss;
   	use namespace xml;
	trace(hello());
}
    
rss function hello():String {
      	return "hola";
    }
    
    xml function hello():String {
        return "foo";
    }

Berichtigen Sie einen mehrdeutigen Verweis, indem Sie den Verweis genauer bezeichnen. Im folgenden Beispiel wird mit dem Format namespace::function genau bezeichnet, welcher Namespace verwendet werden soll:

public function ErrorExamples() {
    
    trace(rss::hello());
    trace(xml::hello());
}
 
 1003Zugriffsspezifikatoren sind in Kombination mit Namespace-Attributen nicht zulässig. Sie können nicht sowohl einen Zugriffsspezifikator (zum Beispiel „private“ oder „public“) als auch ein Namespace-Attribut in einer Definition verwenden. 
 1004Namespace wurde nicht gefunden oder ist keine Konstante zur Kompilierungszeit. Der Namespace ist entweder unbekannt oder es handelt sich um einen Ausdruck, der zur Laufzeit unterschiedliche Werte annehmen kann. Prüfen Sie, ob der Namespace richtig geschrieben und dessen Definition korrekt importiert wurde. 
 1006Super-Ausdrücke können nur innerhalb von Klasseninstanzmethoden verwendet werden. 
 1007Super-Anweisungen können nur innerhalb von Klasseninstanzkonstruktoren verwendet werden. Die super-Anweisung kann nicht in statischen Mitgliedern verwendet werden. Die super-Anweisung kann nur in Klasseninstanzen verwendet werden.  
 1008Das Attribut ist ungültig. 
 1010Das override-Attribut kann nur für Definitionen von Klasseneigenschaften verwendet werden. Das Schlüsselwort override kann nicht in einem Funktionsblock verwendet werden.  
 1011Das virtual-Attribut kann nur für Definitionen von Klasseneigenschaften verwendet werden. Das virtual-Attribut kann nicht zum Deklarieren einer Eigenschaft verwendet werden, die keiner Klasse angehört (beispielsweise, wenn Sie eine Variable in einem Funktionsblock deklarieren).  
 1012Das static-Attribut kann nur für Definitionen innerhalb einer Klasse verwendet werden. 
 1013Das private-Attribut kann nur für Definitionen von Klasseneigenschaften verwendet werden. 
 1014Das intrinsic-Attribut wird nicht mehr unterstützt. ActionScript 3.0 unterstützt das Schlüsselwort intrinsic nicht.  
 1016Basisklasse ist endgültig. Die übergeordnete Klasse kann nicht erweitert werden, da sie als final gekennzeichnet ist.  
 1017Die Definition der Basisklasse %s wurde nicht gefunden. 
 1018Doppelt vorhandene Klassendefinition: %s. 
 1020Mit „override“ gekennzeichnete Methode muss eine andere Methode außer Kraft setzen. 
 1021Doppelt vorhandene Funktionsdefinition. Sie können nicht mehr als eine Funktion mit demselben Bezeichnernamen innerhalb desselben Bereichs deklarieren.  
 1022Endgültiger Zugriff kann nicht außer Kraft gesetzt werden. 
 1023Nicht zulässiges Außerkraftsetzen. Eine als Außerkraftsetzen gekennzeichnete Funktion muss exakt mit der Parameter- und Rückgabetypdeklaration der Funktion, die sie außer Kraft setzt, übereinstimmen. Sie muss dieselbe Anzahl Parameter aufweisen, jeweils vom selben Typ, und denselben Rückgabetyp deklarieren. Wenn eine der Parameter optional ist, muss auch dieser übereinstimmen. Beide Funktionen müssen auch denselben Zugriffsspezifikator (public, private usw.) bzw. dasselbe Namespace-Attribut verwenden. 
 1024Eine nicht für „override“ gekennzeichnete Funktion wird außer Kraft gesetzt. Wenn eine Methode in einer Klasse eine Basisklassenmethode überschreibt, muss dies explizit mit dem override-Attribut deklariert werden. Dies wird in dem folgenden Beispiel verdeutlicht:
public override function foo():void{};
 
 1025Eine final-Methode kann nicht neu definiert werden. Die Methode kann nicht erweitert werden, da sie in der Basisklasse als final (endgültig) gekennzeichnet ist.  
 1026Konstruktorfunktionen müssen Instanzmethoden sein. 
 1027Für Funktionen kann nicht gleichzeitig „static“ und „override“ gelten. 
 1028Für Funktionen kann nicht gleichzeitig „static“ und „virtual“ gelten. 
 1029Für Funktionen kann nicht gleichzeitig „final“ und „virtual“ gelten. 
 1030Der Name des Variablen-Argument-Arrays muss angegeben werden. Die Parameterdefinition ...(rest) gibt an, dass alle Werte, die nach ...(rest) eingegeben werden, in einem Array zusammengefasst werden. Sie müssen einen Namen für das Array wie im Ausdruck function foo(x,...(rest)) eingeben.  
 1033Virtuelle Variablen werden nicht unterstützt. 
 1034Variablen können nicht nativ sein. 
 1035Für Variablen kann nicht gleichzeitig „final“ und „virtual“ gelten. 
 1037Pakete dürfen nicht verschachtelt sein. 
 1038Ziel der break-Anweisung wurde nicht gefunden. 
 1039Zielt der continue-Anweisung wurde nicht gefunden. 
 1040Doppelt vorhandene Definition einer Bezeichnung. 
 1041Attribute können nicht aufgerufen werden. 
 1042Das this-Schlüsselwort kann in statischen Methoden nicht verwendet werden. Es kann nur in Instanzmethoden, Funktionsumhüllungen und globalem Code verwendet werden. Das Schlüsselwort this kann nicht in einem statischen Mitglied verwendet werden, da this keinen Kontext hätte.  
 1043Nicht definierter Namespace. 
 1044Schnittstellenmethode %s in Namespace %s nicht implementiert von Klasse %s. 
 1045Schnittstelle %s wurde nicht gefunden. 
 1046Typ wurde nicht gefunden oder war keine Konstante zur Kompilierungszeit: %s. Die als Typdeklaration verwendete Klasse ist entweder unbekannt oder es handelt sich um einen Ausdruck, der zur Laufzeit unterschiedliche Werte annehmen kann. Stellen Sie sicher, dass Sie die richtige Klasse importieren und dass der Speicherort des zugehörigen Pakets nicht geändert wurde. Überprüfen Sie auch, ob das Paket mit dem Code (nicht der importierten Klasse) korrekt definiert ist. (Achten Sie beispielsweise darauf, die richtige Syntax für ein ActionScript 3.0-Paket und nicht die Syntax für ActionScript 2.0 zu verwenden.)

Diese Fehlermeldung kann auch auftreten, wenn die verwiesene Klasse nicht in einem bereits verwendeten oder nicht als „public“ deklarierten Namespace definiert ist:

public class Foo{}

Wenn Sie Flex™ Builder™ 2 verwenden und die Klasse Teil einer Bibliothek ist, stellen Sie das Festlegen des Klassenpfads für das Projekt sicher.

 
 1047Parameterinitialisierung ist keine Konstante zur Kompilierungszeit. Der als Standardwert für den Parameter verwendete Wert ist entweder nicht definiert oder könnte zur Laufzeit unterschiedliche Werte annehmen. Überprüfen Sie, ob der Initialisierer korrekt geschrieben wurde, und dass es sich bei dem Initialisierer nicht um einen Ausdruck handelt, der zur Laufzeit unterschiedliche Werte annehmen kann.  
 1048Methode kann nicht als Konstruktor verwendet werden. Das Erstellen einer Instanz einer Klassenmethode ist nicht möglich. In new-Ausdrücken können nur globale Funktionen verwendet werden.
class D { function xx() { return 22; } }
var d:D = new D();
var x = new d.xx(); // error, method cannot be used as constructor
function yy() { this.a = 22; }
var z = new yy(); // no error, global functions can be used as constructors.
 
 1049Unzulässige Zuweisung zu einer als Konstante angegebenen Variablen. 
 1050Zuweisung zu einem Wert ohne integrierte Verweisfunktion nicht möglich. 
 1051Rückgabewert muss „undefined“ (nicht definiert) sein. Sie versuchen, die return-Anweisung in einer Methode mit dem deklarierten Rückgabetyp void zu verwenden.  
 1052Konstanteninitialisierer unbekannt oder keine Konstante zur Kompilierungszeit. Der zur Initialisierung der Konstanten verwendete Wert ist entweder nicht definiert oder könnte zur Laufzeit unterschiedliche Werte annehmen. Überprüfen Sie, ob der Initialisierer korrekt geschrieben wurde, und dass es sich bei dem Initialisierer nicht um einen Ausdruck handelt, der zur Laufzeit unterschiedliche Werte annehmen kann.  
 1053Accessor-Typen müssen übereinstimmen. 
 1054Rückgabetyp einer set-Definition muss „unspecified“ oder „void“ sein. Sie können den Rückgabewert für eine set-Funktion nicht angeben. Der folgende Code ist beispielsweise ungültig:
public function set gamma(g:Number):Number;

Der folgende Code hingegen ist gültig:

public function set gamma(g:Number):void;
 
 1058Eigenschaft kann nur geschrieben werden. 
 1059Eigenschaft kann nur gelesen werden. Diese Eigenschaft wird über eine get-Funktion definiert, mit der Sie den Wert der Eigenschaft abrufen können. Jedoch ist für diese Eigenschaft keine set-Funktion definiert, sie ist also schreibgeschützt.

In dem folgenden Beispiel erzeugt Zeile 3 eine Fehlermeldung, da keine set-Funktion für xx definiert ist:

class D { function get xx() { return 22; } }
var d:D = new D();
d.xx = 44; // error, property is read-only
 
 1061Aufruf einer möglicherweise nicht definierten Methode %s über einen Verweis mit dem statischen Typ %s. Sie rufen eine nicht definierte Methode auf.  
 1063Datei konnte nicht geöffnet werden: %s. 
 1064Ungültige Metadaten. Diese Metadaten werden nicht erkannt.  
 1065Metadatenattribute dürfen nur ein Element enthalten. 
 1067Implizite Typumwandlung von %s in nicht verwandten Typ %s. Sie versuchen, ein Objekt in einen Typ umzuwandeln, in den es nicht konvertiert werden kann. Dies kann vorkommen, wenn sich die Zielklasse nicht in der Vererbungskette des umzuwandelnden Objekts befindet. Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird.  
 1068Enthaltene Datei konnte nicht geöffnet werden: %s. 
 1069Syntaxfehler: Definition oder Direktive erwartet. Überprüfen Sie die Syntax der Zeile.  
 1071Syntaxfehler: Definitionsschlüsselwort (beispielsweise „function“) wurde nicht nach %s, sondern nach Attribut %s erwartet. Diese Fehlermeldung tritt auf, wenn der Autor vergessen hat, das Schlüsselwort „var“ oder „function“ in einer Deklaration zu verwenden.
public int z;// should be 'public var z:int;'
Diese Fehlermeldung tritt auch dann auf, wenn der Compiler auf ein unerwartetes Zeichen trifft. Beispielsweise ist die folgende Syntax der Funktion trace() aufgrund der fehlenden Klammern ungültig (die korrekte Syntax lautet trace("hello")):
trace "hello"
 
 1072Syntaxfehler: XML wird vor Namespace erwartet. Die korrekte Syntax für diese Anweisung lautet default xml namespace = ns. Entweder fehlt das Schlüsselwort xml (beachten Sie die Kleinschreibung), oder es wurde ein ungültiges Schlüsselwort verwendet. Weitere Informationen finden Sie im Abschnitt zur Anweisung default xml namespace.  
 1073Syntaxfehler: catch- oder finally-Klausel wird erwartet. 
 1075Syntaxfehler: „each“-Schlüsselwort ohne „in“-Operator nicht zulässig. 
 1076Syntaxfehler: Linke Klammer vor dem Bezeichner erwartet. 
 1077CaseLabel wird erwartet. Der Compiler erwartete an dieser Stelle im switch-Block eine case-Anweisung. Der folgende switch-Block enthält fälschlicherweise einen Aufruf an print vor der ersten case-Anweisung:
switch(x)
{
trace(2);
case 0:  trace(0); 
break
}
 
 1078Bezeichnung muss ein einfacher Bezeichner sein. 
 1079Ein super-Ausdruck muss über einen Operanden verfügen. 
 1080Inkrement- oder Dekrement-Operator erwartet. 
 1082Einfacher Ausdruck in Klammern erforderlich. 
 1083Syntaxfehler: %s wird nicht erwartet. In der Codezeile fehlen einige Informationen. In dem folgenden Beispiel muss hinter dem abschließenden Pluszeichen ein Ausdruck (beispielsweise eine andere Zahl) eingegeben werden:
var sum:int = 1 + 2 + ;
 
 1084Syntaxfehler: %s wird vor %s erwartet. Der Ausdruck wurde an dieser Stelle nicht erwartet. Wenn die Fehlermeldung „Rechte Klammer vor Programmende erwartet“ anzeigt, fehlt eine schließende geschweifte Klammer (}) in einem Codeblock.

Wenn die Fehlermeldung „Linke Klammer vor _ erwartet“ lautet, haben Sie eventuell eine Klammer bei einem bedingten Ausdruck vergessen (siehe folgendes Beispiel, das absichtlich falsch ist):

var fact:int = 1 * 2 * 3;
if fact > 2 {
	var bigger:Boolean = true;
}
 
 1086Syntaxfehler: es wird ein Semikolon vor %s erwartet. 
 1087Syntaxfehler: Zusätzliche Zeichen wurden nach Ende des Programms gefunden. 
 1093Syntaxfehler. 
 1094Syntaxfehler: Ein Stringliteral muss vor dem Zeilenumbruch beendet werden. 
 1095Syntaxfehler: Ein Stringliteral muss vor dem Zeilenumbruch beendet werden. 
 1097Syntaxfehler: Eingabe wurde vor Erreichen der schließenden Anführungszeichen für ein Stringliteral beendet. 
 1099Syntaxfehler. 
 1100Syntaxfehler: XML verfügt nicht über zueinander passende Anfangs- und Endtags. 
 1102Löschen von super-Nachkommen nicht möglich. 
 1103Doppelt vorhandene Namespace-Definition. Sie haben den Namespace mehrmals definiert. Löschen oder modifizieren Sie die doppelt vorhandene Definition.  
 1104 %s  
 1105Ziel der Zuweisung muss ein Referenzwert sein. Sie können einer Variablen einen Wert zuweisen, aber Sie können einem Wert keinen anderen Wert zuweisen.  
 1106Inkrement-Operand muss ein Verweis sein. Der Operand muss eine Variable, ein Element in einem Array oder eine Objekteigenschaft sein.  
 1107Ungültiger Inkrement-Operand. Der Operand muss eine Variable, ein Element in einem Array oder eine Objekteigenschaft sein.  
 1108Der Dekrement-Operand ist ungültig. Der Operand muss eine Variable, ein Element in einem Array oder eine Objekteigenschaft sein.  
 1109Ausdruck erforderlich. In einem Teil des Codes fehlt ein Ausdruck. Diese Fehlermeldung wird beispielsweise vom folgenden Code erzeugt (es fehlt eine Bedingung in der if-Anweisung):
var x = (5 > 2) ? 
trace(x)
 
 1110XML-Tag-Name fehlt. 
 1111Die Datei %s ist keine gültige ABC-Datei. 
 1112Möglicherweise Endlosrekursion wegen dieses Datei-Includes: %s. Eine in der zu kompilierenden Quelle enthaltene Datei enthält weitere include-Anweisungen, die zu einer unendlichen Schleife führen würden. Dieser Fehler wird zum Beispiel von den Dateien „a.as“ und „b.as“ erzeugt, da jede Datei versucht, die andere einzuschließen.

Die Datei a.as enthält den folgenden Code, der versucht, die Datei b.as einzuschließen:

import foo.bar.baz;
include "b.as"
trace(2);

Die Datei b.as enthält den folgenden Code, der versucht, die Datei a.as einzuschließen:

include "a.as"
 
 1113Referenz des Typs „Circular“ wurde in %s erkannt. Eine Klasse versucht, eine übergeordnete Klasse zu erweitern. Beispielsweise kann Klasse A die Klasse B nicht erweitern, wenn B von A übernimmt:
class a extends b { }
class b extends a { }
 
 1114Das public-Attribut kann nur innerhalb eines Pakets verwendet werden. 
 1115Das internal-Attribut kann nur innerhalb eines Pakets verwendet werden. 
 1116Ein benutzerdefiniertes Namespace-Attribut kann nur auf der obersten Ebene einer Klassendefinition verwendet werden. 
 1118Implizite Typumwandlung eines Werts mit statischem Typ %s in einen möglicherweise nicht verwandten Typ %s. Sie verwenden einen Wert, der nicht dem erwarteten Datentyp entspricht. Es besteht kein impliziter Zwang zur Umwandlung dieses Typs in den erwarteten Datentyp.

Vielleicht verwenden Sie einen übergeordneten Typ, wo ein untergeordneter Typ erwartet wird. Beispiel:

class A {}
var a:A = new A(); 
class B extends A { function f() }
var b : B = a // error

Die letzte Anweisung erzeugt eine Fehlermeldung, weil sie versucht, ein Objekt des Datentyps A einer Variablen des Datentyps B zuzuweisen.

Im Folgenden wird die foo()-Funktion definiert, die einen Parameter des Typs B verwendet. Die Anweisung foo(a); generiert einen Fehler, da sie versucht, einen Parameter des Typs A zu verwenden:

function foo(x:B) { }
foo(a);

Die folgende Anweisung generiert einen Fehler, da der Rückgabewert für foo2() vom Typ B sein muss:

function foo2():B { return new A(); }
 
 1119Zugriff auf möglicherweise nicht definierte Eigenschaft %s über eine Referenz mit dem statischen Datentyp %s. Sie versuchen, auf eine Eigenschaft zuzugreifen, die für das angegebene Objekt nicht existiert. Diese Fehlermeldung wird beispielsweise durch den folgenden Code erzeugt, weil das int-Objekt über keine Eigenschaft mit der Bezeichnung assortment verfügt:
var i:int = 44;
var str:String = i.assortment;
Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird.  
 1120Zugriff auf nicht definierte Eigenschaft %s. Sie versuchen, auf eine nicht definierte Variable zuzugreifen. Wenn die Variable huh nicht definiert wurde, führt ein Aufruf dieser Variablen zu dieser Fehlermeldung:
huh = 55;
Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird.  
 1121Eine get-Funktion darf keine Parameter enthalten. 
 1122Eine set-Funktion darf nur genau einen Parameter enthalten. 
 1123Eine set-Definition darf keine optionalen Parameter enthalten. 
 1124Rückgabetyp einer get-Definition darf nicht „void“ sein. Eine get-Funktion simuliert eine Variable. Da Variablen den Datentyp „void“ nicht annehmen können, ist das Deklarieren von get-Funktionen zur Rückgabe des Datentyps „void“ unzulässig.  
 1125In einer Schnittstelle definierte Methoden dürfen keinen Hauptteil haben. 
 1126Funktion weist keinen Textteil (body) auf. 
 1127Attribut %s wurde mehrfach angegeben. Sie haben ein Attribut mehrmals in der gleichen Anweisung angegeben. Diese Fehlermeldung wird beispielsweise von der Anweisung public static public var x; erzeugt, da sie die Variable x zweimal als „public“ deklariert. Löschen Sie doppelt vorhandene Deklarierungen.  
 1129Doppelt vorhandene Schnittstellendefinition: %s. Ändern oder löschen Sie doppelt vorhandene Definitionen.  
 1130Ein Konstruktor kann keinen Rückgabetyp angeben. 
 1131Klassen dürfen nicht verschachtelt werden. 
 1132Das final-Attribut kann nur für eine in einer Klasse definierte Methode verwendet werden. 
 1133Das native-Attribut kann nur mit Funktionsdefinitionen verwendet werden. 
 1134Das dynamic-Attribut kann nur mit Klassendefinitionen verwendet werden. 
 1135Syntaxfehler: %s ist kein gültiger Typ. 
 1136Fehlerhafte Anzahl von Argumenten. Erwartet wurde %s. Die Funktion erwartet eine andere als die von Ihnen angegebene Anzahl von Argumenten. Folgendes definiert zum Beispiel die Funktion goo, die zwei Argumente hat:
class A { static function goo(x:int,y:int) 
{ return(x+y); } }

Die folgende Anweisung würde eine Fehlermeldung erzeugen, weil sie drei Argumente bereitstellt:

A.goo(1,2,3);
 
 1137Fehlerhafte Anzahl von Argumenten. Es wurden nicht mehr als %s erwartet. 
 1138Erforderliche Parameter sind nach optionalen Parametern nicht zulässig. 
 1139Variablendeklarationen sind in Schnittstellen nicht zulässig. 
 1140Nach dem Parameterdefinitionsschlüsselwort ...rest angegebene Parameter können nur vom Array-Datentyp sein. 
 1141Eine Klasse kann nur eine andere Klasse und keine Schnittstelle erweitern. 
 1142Eine Schnittstelle kann nur andere Schnittstellen erweitern, %s ist jedoch eine Klasse. Sie versuchen, eine Klasse mit einer Schnittstelle zu erweitern. Eine Schnittstelle kann nur eine andere Schnittstelle erweitern.  
 1143Das override-Attribut kann nur für eine in einer Klasse definierte Methode verwendet werden. 
 1144Schnittstellenmethode %s in Namespace %s wird mit einer nicht kompatiblen Signatur in Klasse %s implementiert. Methodensignaturen müssen exakt übereinstimmen.  
 1145Native Methoden können nicht über einen Hauptteil verfügen. Sie können native nicht verwenden, da es sich hierbei um ein reserviertes Schlüsselwort handelt.  
 1146Ein Konstruktor kann keine Get- oder Set-Methode sein. 
 1147Eine AS-Quelldatei wurde nicht definiert. 
 1149Die return-Anweisung kann im statischen Initialisierungscode nicht verwendet werden. 
 1150Das protected-Attribut kann nur für Definitionen von Klasseneigenschaften verwendet werden. 
 1151Konflikt mit Definition %s in Namespace %s vorhanden. Es ist nicht möglich, mehrere Variablen mit dem gleichen Bezeichnernamen innerhalb des gleichen Gültigkeitsbereichs zu deklarieren, es sei denn, alle deklarierten Variablen weisen den gleichen Datentyp auf. In ActionScript 3.0 werden unterschiedliche Codeblöcke (z. B. wie die in zwei for-Schleifen in der gleichen function-Definition) als im gleichen Gültigkeitsbereich betrachtet.

Das folgende Codebeispiel wandelt die Variable x korrekt in den gleichen Datentyp um:

function test()
{
	var x:int = 3;
	for(var x:int = 33; x < 55; x++)
	trace(x);
	for(var x:int = 11; x < 33; x++)
	trace(x)
}

Das folgende Codebeispiel erzeugt eine Fehlermeldung, da die Datentypumwandlung in der Variablendeklaration und die for-Schleifen unterschiedlich sind:

function test()
{
	var x:String = "The answer is";
	for(var x:int = 33; x < 55; x++) // error
	trace(x);
	for(var x:unit = 11; x < 33; x++) // error
	trace(x)
}
 
 1152 Konflikt mit übernommener Definition %s in Namespace %s vorhanden. 
 1153Ein Konstruktor kann nur als „public“ deklariert werden. 
 1154In einer Definition kann nur eine Instanz von „public“, „private“, „protected“ oder „internal“ angegeben werden. 
 1155Zugriffsmodule dürfen nicht in anderen Funktionen verschachtelt sein. 
 1156Schnittstellen können nicht mit dem new-Operator instanziiert werden. 
 1157Schnittstellenmitglieder dürfen nicht als „public“, „private“, „protected“ oder „internal“ deklariert werden. 
 1158Syntaxfehler: Vor dem Funktionstext fehlt die linke Klammer ({). 
 1159Die return-Anweisung kann im Initialisierungscode des Pakets nicht verwendet werden. 
 1160Das native-Attribut kann nicht in Schnittstellendefinitionen verwendet werden. Sie können native nicht verwenden, da es sich hierbei um ein reserviertes Schlüsselwort handelt.  
 1162Pro Definition darf nur ein Namespace-Attribut verwendet werden. 
 1163Methode %s steht in Konflikt mit von Schnittstelle %s übernommener Definition. 
 1165Schnittstellenattribut %s ist ungültig. 
 1166Namespace-Deklarationen sind in Schnittstellen nicht zulässig. 
 1167Klasse %s implementiert Schnittstelle %s mehrmals. Die Klasse implementiert die gleiche Klasse mehrmals. Diese Fehlermeldung wird beispielsweise von dem folgenden Code erzeugt, da die Klasse C die Schnittstelle A zweimal implementiert:
interface A {  public function f();  };
class C implements A,A {
public function f() { trace("f"); }
}

Die korrekt implementierte Anweisung würde class C implements A { lauten.

 
 1168Unzulässige Zuweisung zu Funktion %s. Sie versuchen, eine Funktion neu zu definieren. Folgendes definiert die Funktion topLevel(), um das Wort „top“ zu drucken. Die zweite Anweisung erzeugt eine Fehlermeldung, weil sie der Funktion einen anderen Rückgabewert zuweist:
function topLevel() { trace("top"); }
topLevel = function() { trace("replacement works in ~");} // error
 
 1169Namespace-Attribute sind in Schnittstellenmethoden nicht zulässig. 
 1170Funktion gibt keinen Wert zurück. Jede mögliche Ablaufsteuerung in einer Funktion muss einen Wert zurückgeben, wenn der Rückgabetyp etwas anderes als „void“ ist. Die folgende f(x)-Funktion generiert keinen Fehler, da die if..else-Anweisung immer einen Wert zurückgibt:
function f(x):int
{
if (x)
    	return 2;
else
    	return 3;
} // no error

Die folgende Funktion g(x) erzeugt keine Fehlermeldung, da die switch-Anweisung nicht immer einen Wert zurückgibt.

function g(x:int):int
{
switch(x)
{
      	case 1: return 1;
      	case 2: return 2:
}
// return 2;//uncomment to remove the error
}

Diese Überprüfung wird nur dann aktiviert, wenn die Funktion einen anderen Rückgabetyp als „void“ deklariert.

 
 1171Eine Namespace-Initialisierung muss entweder ein Literalstring oder ein anderer Namespace sein. 
 1172Definition %s wurde nicht gefunden. 
 1173Definition der Bezeichnung ist ungültig. 
 1176Vergleich zwischen einem Wert mit statischem Typ %s und einem möglicherweise nicht verwandten Typ %s. Dieser Fehler ist im strikten Modus aktiviert. 
 1177Die return-Anweisung kann im globalen Initialisierungscode nicht verwendet werden. 
 1178Versuchter Aufruf einer nicht verfügbaren Eigenschaft %s über einen Verweis mit statischem Typ %s. 
 1179:Objekt ist vorübergehend nicht verfügbar. Verwenden Sie stattdessen :*. 
 1180Aufruf einer möglicherweise undefinierten Methode %s. Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird. 
 1181Verweis an Basisklasse %s weiterleiten. 
 1182Paket kann nicht als Wert verwendet werden: %s. 
 1184Inkompatibler Standardwert des Typs %s, bei dem %s erwartet wird. 
 1185Für switch gibt es mehr als einen Standardwert, es ist jedoch nur einer zulässig. 
 1188Unzulässige Zuweisung zu Klasse %s. 
 1189Es wird versucht, die feste Eigenschaft %s zu löschen. Nur dynamisch definierte Eigenschaften können gelöscht werden. Durch das Löschen werden dynamisch definierte Objekteigenschaften entfernt. Deklarierte Eigenschaften einer Klasse können nicht gelöscht werden. Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird. 
 1190Basisklasse wurde nicht gefunden oder ist keine Konstante zur Kompilierungszeit. 
 1191Schnittstelle wurde nicht gefunden oder ist keine Konstante zur Kompilierungszeit. 
 1192Das static-Attribut ist in Namespace-Definitionen nicht zulässig. 
 1193Schnittstellendefinitionen dürfen nicht in Klassen oder anderen Schnittstellendefinitionen verschachtelt werden. 
 1194Das prototype-Attribut ist ungültig. 
 1195Versuchter Aufruf einer nicht verfügbaren Methode %s über einen Verweis mit statischem Typ %s. Entweder rufen Sie eine als „private“ deklarierte Methode von einer anderen Klasse aus auf, oder Sie rufen eine Methode auf, die in einem nicht mehr verwendeten Namespace definiert ist. Wenn Sie eine Methode aufrufen, die in einem nicht mehr verwendeten Namespace definiert ist, müssen Sie eine use-Anweisung für den erforderlichen Namespace hinzufügen.  
 1196Syntaxfehler: Es wird ein Ausdruck nach der Ausgabe erwartet.  
 1197Die Klasse %s kann nicht mit %s erweitert werden, da beide mit Bibliothekssymbolen oder der Hauptzeitleiste verknüpft sind. 
 1198Attribute sind in Paketdefinitionen nicht zulässig. 
 1199Interner Fehler: %s. 
 1200Syntaxfehler: Ungültige for-in-Initialisierung, nur 1 Ausdruck erwartet. 
 1201Eine super-Anweisung darf nicht einer this-, super-, return- oder throw-Anweisung folgen. 
 1202Zugriff auf die undefinierte Eigenschaft %s in Paket %s. Sie versuchen, auf eine nicht definierte Variable in einem Paket zuzugreifen. Wenn die Variable p.huh nicht definiert wurde, führt ein Aufruf dieser Variablen zu dieser Fehlermeldung:
p.huh = 55;
Diese Fehlermeldung tritt nur dann auf, wenn der Compiler im strikten Modus ausgeführt wird.  
 1203Kein Standardkonstruktor in Basisklasse %s gefunden. Sie müssen den Konstruktor der Basisklasse ausdrücklich mit einer super()-Anweisung aufrufen, wenn er 1 oder mehr erforderliche Argumente hat. 
 1204/* gefunden ohne Übereinstimmung mit */ . Die Zeichen „/*“, die den Beginn eines Kommentars kennzeichnen, wurden gefunden, jedoch nicht die entsprechenden Zeichen „*/“, die das Ende des Kommentarblocks kennzeichnen.  
 1205Syntaxfehler: Linke Klammer ({) oder Stringliteral ("") erforderlich. 
 1206Eine super-Anweisung kann nur als letztes Element in einer Konstruktorinitialisiererliste verwendet werden. Die Anweisung super kann nicht in einem Konstruktor verwendet werden. Eine super-Anweisung kann nur als letztes Element in einer Konstruktorinitialisiererliste verwendet werden.  
 1207Das this-Schlüsselwort kann für Eigenschaftsinitialisierungen nicht verwendet werden. Das Schlüsselwort this kann nicht in einem Eigenschaftsinitialisierer verwendet werden.  
 1208Beim Initialisierer für einen Konfigurationswert muss es sich um Konstanten zur Kompilierungszeit handeln. Beim Initialisierer für einen Konfigurationswert muss es sich um einen zur Kompilierungszeit bekannten Wert handeln. Der Initialisierer kann ein Konstantenstring, eine Zahl oder ein boolescher Wert sein, oder ein Verweis auf einen anderen zuvor definierten Konfigurationswert.  
 1209Eine Konfigurationsvariable kann nur als „const“ deklariert werden. Beim Definieren einer Konfigurationsvariablen muss sie als „const“ deklariert werden.  
 1210Ein Konfigurationswert muss auf oberster Ebene eines Programms oder Pakets deklariert werden. Ein Konfigurationswert muss auf oberster Ebene eines Programms oder Pakets deklariert werden.  
 1211Namespace %s steht in Konflikt mit einem Namespace für Konfiguration. Ein Namespace hat evtl. nicht denselben Namen wie ein Namespace für Konfiguration.  
 1212„Precision“ muss eine Ganzzahl zwischen 1 und 34 sein. 
 1214Inkompatible Version: Kann nicht auf Definition %s verweisen, die in Version %s mit Code aus Version %s eingeführt wurde. 
 1215Ungültige Initialisierung: Konvertierung in Typ „%s“ führt zu Datenverlust. 


[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.