0

从 Adob​​eTV 上的视频中,我尝试使用示例 empWeb (LiveCycle Data Services)。在 Flex Builder 3 (FB3) 中一切正常。当我在 Flash Builder 4.0 Beta (FB4) 上尝试此操作时,它不起作用。当我用 FB3 (2006) 的声明替换原始 xmlns 声明(2009,spark,halo)时,它可以工作。你能解释一下为什么吗?

我正在使用默认的 SDK(FB3 的 Flex 3.2 和 FB4 的 Flex 4.0)。我对此进行了调查(请参阅 3 个源代码示例)。源 #1 在 FB3 和 FB4 中工作正常,源 #2 给出 FB4 编译错误消息:

在“mxmlContentFactory”的初始化程序中,类型 flex.samples.crm.employee.Employee 不可分配给目标数组元素类型 mx.core.IVisualElement

Source #3 编译没问题,但是在浏览器中它只显示一个白屏(没有表格没有数据)。

来源#1

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="adobe.com/2006/mxml"; styleName="plain"
    applicationComplete="ds.fill(employees)" xmlns:employee="flex.samples.crm.employee.*">
    <employee:Employee/>
    <mx:ArrayCollection id="employees"/>
    <mx:DataService id="ds" destination="crm-employee"/>
    <mx:DataGrid dataProvider="{employees}" width="100%" height="100%" editable="true"/>
</mx:Application>

来源#2

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="ns.adobe.com/mxml/2009"; xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768" 
    xmlns:employee="flex.samples.crm.employee.*">
    <employee:Employee/> 
    <mx:ArrayCollection id="employees"/> 
    <mx:DataService id="ds" destination="crm-employee"/> 
    <mx:DataGrid dataProvider="{employees}" width="100%" height="100%" editable="true"/> 
</s:Application> 

来源#3

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="adobe.com/2006/mxml"; 
    minWidth="1024" minHeight="768" xmlns:employee="flex.samples.crm.employee.*"> 
    <employee:Employee/> 
    <mx:ArrayCollection id="employees"/> 
    <mx:DataService id="ds" destination="crm-employee"/> 
    <mx:DataGrid dataProvider="{employees}" width="100%" height="100%" editable="true"/> 
</s:Application>
4

1 回答 1

0

您在各自的环境中使用哪个 SDK?那里的差异可能会导致问题。

于 2009-08-19T20:49:40.640 回答