Zuletzt aktualisiert am
1. Mai 2021
|
Gilt auch für Flex Builder
In dieser TechNote werden bekannte Probleme mit dem Flex 2-Compiler beschrieben, die beim Kompilieren der Flex-Anwendung zu Fehlern führen können.
- 175465: Der folgende Laufzeitfehler wird verursacht, weil der Compiler einen Fehler nicht melden kann, wenn sich eine geschützte Set-Methode in der Basisklasse mit dem gleichen Namen wie eine geschützte Membervariable in einer abgeleiteten Klasse befinde: VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds. (Die ABC-Daten sind beschädigt, Grenzprüfung bei Leseversuch fehlgeschlagen.)
- 174533: Nicht durch Escapezeichen formatiertes \n in einer Ressourcenpaket-Eigenschaftendatei verursacht Compiler-Fehler, die zurück auf den generierten Code verweisen: Message: Syntax error: A string literal must be terminated before the line break. (Meldung: Syntaxfehler: Ein Zeichenfolgenliteral muss vor dem Zeilenumbruch beendet werden.)
- 175233: Wenn eine Ressourcenpaket-Eigenschaftendatei in Unicode verschlüsselt ist, erstellt der Compiler irreführende Fehler, z. B.:Syntax error: input ended before reaching the closing quotation mark for a string literal (Syntaxfehler: Eingabe beendet, bevor das schließende Fragezeichen für ein Zeichenfolgenliteral erreicht wurde)
Alle Zeichenfolgen in Eigenschaftendateien müssen in Latin-1 oder UTF-8 verschlüsselt sein. - 170249: Für nicht übereinstimmende Objekte in der Quelle und im Ziel des Tags mx :Binding wird keine Kompilierungswarnung und kein Fehler ausgegeben, was zu einem Laufzeitfehler führt.
- 172353: Ein Laufzeitfehler wird ausgelöst wenn Locale .getCurrent(Application.application.systemManager).country
verwendet, um das Land in einer Anwendung abzurufen, in der -locale nicht als Compileroption übergeben wurde, z. B.
TypeError: Error #1009: Cannot access a property or method of a null object reference (Kein Zugriff auf eine Eigenschaft oder Methode einer Null-Objekt-Referenz). - 169682: Wenn beim Debugging der Body-Bereich einer „For“-Schleife eine einzelne Zeile ist, gilt die Einzelschrittausführung für die gesamte Schleife.
- 171214: Klassen, die eine Schnittstelle implementieren, werden vom Compiler nicht benötigt, um die Standardwerte in ihren Methoden den Schnittstellenmethoden anzupassen.
- 174646: Wenn eine Klasse Accessor-Funktionen mit unterschiedlichen Namespace-Attributen für Zugriffssteuerung enthält (z. B. einen geschützten Setter und einen öffentlichen Getter), verursacht das Verwenden eines von ihnen Kompilierzeitfehler, z. B. , Compiler-Error 1000: Ambiguous reference to myVar (Mehrdeutiger Verweis auf myVar)
Die Problemumgehung besteht darin, die Getter- oder die Setter-Funktion umzubenennen, um die Nichtübereinstimmung zu vermeiden. - 175271: Das Wörterbuch verarbeitet MethodClosures nicht korrekt, sodass zwei Einträge im Wörterbuch mit der gleichen Funktion als Schlüssel stehen können. Um dieses Problem zu umgehen, können Sie eine Variable angeben, sie dem Abschluss zuweisen und diese Variable weiterhin verwenden.
- 175264: Beim Kompilieren einer Anwendung, die eine Klasse instanziiert, die eine Compiler-Warnung generiert, wird weiterhin die gleiche Warnung gemeldet, auch wenn der Verweis auf die betreffende Klasse entfernt wurde. Die Compiler-Warnung wird nach Installation eines neuen Builds nicht mehr gemeldet.
- 171221: Der Compiler mxml Compiler erzeugt eine Stapelüberwachung, wenn der Code mxml ActionScript-Ausdruck mit einem Syntaxfehler hat. Beispiel:
<? xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns :mx="http://www.adobe.com/2006/mxml" > <mx:TextInput id="ti" text="{String(new Date()}"/> </mx:Application> - 172876: Compiler löst kryptische Fehler aus, wenn ein Variablenname verwendet wird, der bereits von einer Flex-Anwendungsmodell-Basisklasse oder einer Flash-API-Klasse wie DisplayObject verwendet wird. Beispiel:
Zugriff auf möglicherweise nicht definierte Eigenschaft "x" über einen Verweis mit dem statischen Typ "Zeichenfolge". Zugriff auf möglicherweise nicht definierte Eigenschaft "y" über einen Verweis mit dem statischen Typ "Zeichenfolge". Zugriff auf möglicherweise nicht definierte Eigenschaft "Text" über einen Verweis mit dem statischen Typ "flash.display". :DisplayObject - 174788: Inkrementelles Kompilieren zeigt einen Fehler nach dem Aktualisieren einer Ressourcenpaket-Eigenschaftendatei an, z. B. Fehler: Unable to resolve a class for ResourceBundle: TestResources_properties (Klasse kann nicht aufgelöst werden für: TestResources_properties)
Bereinigen Sie in Flex Builder das Projekt, um den Fehler zu beheben.
Weitere Informationen
Zusätzliche Information über Compiler-Fehler und -Warnungen sind in der Dokumentation zu finden: