V této technické poznámce jsou popsány známé problémy s kompilátorem Flex 2, kvůli kterým může při kompilaci aplikace Flex docházet k chybám.

  • 175465: Vzhledem k tomu, že kompilátor v případě, že ve tříděbaseexistuje chráněná metoda set, která má stejný název jako chráněná proměnná member v odvozené třídě, nehlásí chybu, dochází k následující chybě za běhu: VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds (Chyba ověření: Chyba č. 1107: Data ABC jsou poškozená, došlo k pokusu o čtení mimo rozsah.).
  • 174533: Znak \n neuvozený řídicím znakem v souboru vlastností balíčku prostředků způsobuje chyby kompilátoru, které odkazují zpět na generovaný kód: Message: Syntax error: A string literal must be terminated before the line break. (Zpráva: Chyba syntaxe: Řetězcový literál musí být před koncem řádku zakončen.).
  • 175233: Pokud je soubor vlastností balíčku prostředků kódován ve znakové saděunicode, generuje kompilátor zavádějící chyby, například Error: Syntax error: input ended before reaching the closing quotation mark for a string literal
    (Chyba: Chyba syntaxe: Vstup řetězcového literálu skončil před dosažením uzavírací uvozovky.). Všechny řetězce v souborech vlastností musí používat kódování Latin-1 nebo UTF-8.
  • 170249: V případě neodpovídajících si objektů ve zdroji a cíli tagumx:Bindingnení vráceno žádné varování ani chyba kompilace, což způsobí chybu za běhu.
  • 172353: Pokud je k načtení země v aplikacipoužita metodaLocale.getCurrent(Application.application.systemManager).country
    a kompilátoru nebyl předán parametr -locale, je vrácena chyba, například
    TypeError: Error #1009: Cannot access a property or method of a null object reference (Chyba typu: Chyba č. 1009: Nelze získat přístup k vlastnosti nebo metodě reference objektu null.).
  • 169682: Pokud je smyčka tvořena jedním řádkem, bude během ladění celá smyčka při krokování přeskočena.
  • 171214: Kompilátor nevyžaduje, aby třídy implementující rozhraní přiřazovaly výchozí hodnoty ve svých metodách metodám rozhraní.
  • 174646: Pokud třída obsahuje přístupové funkce s různými atributy oboru názvu pro řízení přístupu (napříkladchráněnoufunkci setter a veřejnou funkci getter), dojde při použití jedné z nich k chybě kompilace,napříkladCompiler-Error1000: Ambiguous reference to myVar
    (Chyba kompilátoru 1000: Nejednoznačná reference na položku myVar). Alternativním řešením, kterým neshodě zabráníte, je přejmenovat funkci getter nebo setter.
  • 175271: Slovník správně nezpracovává ukončování metod, takže mohou ve slovníku vzniknout dvě položky se stejnou funkcí jako klíčem. Jako alternativní řešení můžete deklarovat proměnnou a přiřadit ji k ukončení a potom nadále používat tuto proměnnou.
  • 175264: Při kompilaci aplikace, při které je vytvářena instance třídy generující varování kompilátoru, bude stále hlášeno stejné varování kompilátoru, a to i po odebrání reference na poškozenou třídu. Po vytvoření čistého sestavení se varování kompilátoru již zobrazovat nebude.
  • 171221: Kompilátormxmlgeneruje trasování zásobníku (pokud kódmxmlobsahuje výraz ActionScript s chybou syntaxe). Příklad:

    <?xmlversion="1.0" encoding="iso-8859-1"?> <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" > <mx:TextInput id="ti" text="{String(new Date()}"/> </mx:Application>
  • 172876: Při použití názvu proměnné, který byl již použit základní třídou modelu aplikace Flex nebo třídou rozhraní Flash API (například DisplayObject), vrací kompilátor záhadné chyby. Příklad:
    Access of possibly undefined property x through a reference with static type String. Access of possibly undefined property y through a reference with static type String. Access of possibly undefined property text through a reference with static type flash.display:DisplayObject (Přístup k nijak nedefinované hodnotě x vlastnosti prostřednictvím reference s řetězcem statického typu. Přístup k nijak nedefinované hodnotě y vlastnosti prostřednictvím reference s řetězcem statického typu. Přístup k nijak nedefinovanému textu vlastnosti prostřednictvím reference s objektem flash.display:DisplayObject statického typu.)
  • 174788: Po aktualizaci souboru vlastností balíčku prostředků se při přírůstkové kompilaci zobrazuje chyba, například Error: Unable to resolve a class for ResourceBundle: TestResources_properties
    (Chyba: Nelze přeložit třídu pro prostředek ResourceBundle: TestResources_properties.). Chcete-li tuto chybu odstranit, vyčistěte projekt v aplikaci Flex Builder.

Další informace

Tato práce podléhá licenci Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Na příspěvky ze služeb Twitter™ a Facebook se nevztahují podmínky licence Creative Commons.

Právní upozornění   |   Zásady ochrany osobních údajů online