Here is the stacktrace:
TypeError: Error #1034: Typumwandlung fehlgeschlagen: [EMAIL PROTECTED] kann 
nicht in 
de.blitzeinschlag.playlisteditor.model.playlists.IPlayListItem umgewandelt 
werden.
        at 
de.blitzeinschlag.playlisteditor.view.playlists.listClasses::ListItemRenderer/set
 
data()[/Users/florian/Workspaces/blitzeinschlag/PlayListEditor/src/de/blitzeinschlag/playlisteditor/view/playlists/listClasses/ListItemRenderer.mx
ml:99]
        at 
mx.controls::List/makeRowsAndColumns()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\controls\List.as:1286]
        at 
mx.controls.listClasses::ListBase/makeRowsAndColumnsWithExtraRows()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\controls\listClasses
\ListBase.as:1359]
        at 
mx.controls.listClasses::ListBase/updateDisplayList()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3657]
        at 
mx.controls::List/updateDisplayList()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\controls\List.as:1003]
        at 
mx.controls.listClasses::ListBase/validateDisplayList()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3279]
        at 
mx.managers::LayoutManager/validateDisplayList()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:605]
        at 
mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:678]
        at Function/http://adobe.com/AS3/2006/builtin::apply()
        at 
mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8565]
        at 
mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8508]

And this is the argument which is passed to the "set data"-field implementation:
<type name="Object" isDynamic="true" isFinal="false" isStatic="false">
  <method name="hasOwnProperty" declaredBy="Object" returnType="Boolean" 
uri="http://adobe.com/AS3/2006/builtin";>
    <parameter index="1" type="*" optional="true"/>
  </method>
  <method name="isPrototypeOf" declaredBy="Object" returnType="Boolean" 
uri="http://adobe.com/AS3/2006/builtin";>
    <parameter index="1" type="*" optional="true"/>
  </method>
  <method name="propertyIsEnumerable" declaredBy="Object" returnType="Boolean" 
uri="http://adobe.com/AS3/2006/builtin";>
    <parameter index="1" type="*" optional="true"/>
  </method>
</type>

Any input would be thankfull!

Best regards

--- In [email protected], "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> If you get an runtime exception, always use a debug build and post the
> full stacktrace.
> 
>  
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of florian.salihovic
> Sent: Monday, August 18, 2008 9:30 AM
> To: [email protected]
> Subject: [flexcoders] ItemRenderer returns empty Object instead of
> encapsuled data.
> 
>  
> 
> I have two instances of mx:controls::List. Both use the same
> ItemRenderer. A TypeError 
> occours, when i drop one item from one List into the other List. Instead
> of the encapsuled 
> type (an instance of an interface, typed to the interface) just an empty
> Ombject instance is 
> returned.
> 
> I implement mx.core.IDataRenderer,
> mx.controls.listClasses.IDropInListItemRenderer and 
> mx.controls.listClasses.IListItemRenderer in my component. Here is the
> code for the 
> overwritten data and listData Propertys:
> 
> private var _item:IPlayListItem;
> private var _listData:BaseListData;
> 
> [Bindable("dataChange")]
> override public function get data():Object {
> return this._item;
> }
> 
> [Bindable("dataChange")]
> public function get listData():BaseListData {
> return this._listData
> }
> 
> override public function set data(value:Object):void {
> trace("ListItemRenderer.data: "+value);
> super.data = value;
> if (!value) {
> return;
> }
> if (this._item == value) {
> return;
> }
> if (value is IPlayListItem) {
> super.data = IPlayListItem(value);
> this._item = IPlayListItem(value);
> }
> this.dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
> 
> }
> 
> public function set listData(value:BaseListData):void {
> if (this._listData == value) {
> return;
> }
> this._listData = value;
> this.dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
> }
> 
> What am i missing?
> 
> Best regards!
>



Reply via email to