我有一个flex应用程序,它依赖于一个类,它稍微抽象了flex的resourceManager。我使用的(纯AS3)类扩展了EventDispatcher,并处理本地化信息的运行时加载以及返回翻译后的令牌。我不能使用基础资源管理器,因为我不希望它返回null,如果没有找到令牌
/endexposition
我的问题来了,当我试图使我的getString函数可绑定
[Bindable(event="bundleLoaded")]
public function getString...
"bundlloaded"事件被适当地分派。此功能在我参与开发的90%的应用程序中正确工作。然而,对于一个应用程序,我得到以下混淆错误:
1084:语法错误:s. Resource=(ProjectName) Path=(null) Location=line 301
在我添加[Bindable…]之前,应用程序编译并运行(显然减去绑定)。]行,但在我添加该行后,它拒绝正确编译。在第301行,甚至没有任何应用程序或支持类的稍微有趣的内容。
提示吗?有人有类似的经历吗?
嗯,在搜索生成的代码后,我发现了一个问题(这将是向flex sdk报告的错误)。
我的代码将一个文本属性绑定到一个资源(用于本地化)。
该属性使用了一个三元操作。一旦我创建了这个绑定,生成的代码就从我的三进制操作中剥离了":"one_answers"?",并导致了一个错误。
myResourceManager.getString('bundle','token',[numDays, numDays != 1 ? 's' : ''])
编译器把它变成了…
new mx.binding.FunctionReturnWatcher("getString", target,
function():Array
{ return [ "bundle", "token", [target.numDays, target.numDays != 1"s"""] ]; }
给我留下了一个漂亮的,模棱两可的编译错误。谢谢大家的关注!这个是固定的。
编辑:如果有人感兴趣:https://bugs.adobe.com/jira/browse/SDK-30937