我正在迁移FlashBuilder项目(实际上是我正在使用Linux上的FlexBuilder eclipse插件的项目)来使用FDT。我设法导入项目,并让它知道它依赖的其他项目。
但是,对于看起来无害(并且用于编译)的事情,我会遇到很多编译错误。至少,例如:
<mx:SomeClass initialize="{this.init()}" ... >
<mx:Script>
<![CDATA[
....
public function init() : void {
// ... whatever
}
public function foo(event : Event) : void {
// .. whatever
}
]]>
</mx:Script>
<mx:SomeOtherComponent click="{this.foo(event)}"/>
... etc ....
因此,对于someAttribute =“{this.someFunction()}”形式的所有调用,我得到“未解析的函数”,即使该函数在同一块文件中描述。
我一直在滥用AS3 / FlashBuilder吗?
此外,通用组件也存在问题。假设我有一个具有延迟'content'属性的类,我想实例化这个类并“填空”:
我在CustomComponent.mxml文件中定义了一个带有延迟内容的自定义组件
<mx:VBox>
<mx:Script>
<![CDATA[
public var content : IDeferredInstance;
public function buildMe() : void {
this.addChild(content.getInstance() as UIComponent);
}
我将自定义组件扩展到另一个xml文件中,将某些东西作为内容(命名空间只是包含CustomComponent文件的命名空间的名称)
<namespace:CustomComponent xmln:namespace="..." >
<namespace:content >
<!-- Whatever ... -->
</namespace:content >
</namespace:SomeClassWithDeferredInstance >
然后,我在第二个文件中(在读取命名空间:内容的行)中收到“无法解析'内容'”错误。
值得一提的是:
希望任何人都可以提供帮助......
由于
PH
答案 0 :(得分:0)
如果它正确编译,并且没有任何编译器警告,则它是解析器中的错误,而不是代码中的错误。请在JIRA中提交:http://bugs.powerflasher.com/jira/browse/FDT
对我来说,这段代码没有任何错误标志 - 我甚至可以快速帮助我生成代码。
您的FDT版本也可能不正确。你正在使用4.0,这是相当古老的(大约一年)。从那以后,添加了许多功能并修复了错误。有关详细信息,请参阅发行说明。
http://fdt.powerflasher.com/docs/FDT_4_Release_Notes
我建议升级到FDT 4.5.X
<s:ApplicationminWidth="955" minHeight="600" initialize="{this.init();}">
<fx:Script>
<![CDATA[
private function init() : void {}
private function foo(event : MouseEvent) : void {}
]]>
</fx:Script>
<s:Button click="this.foo(event);"/>
</s:Application>