Something i forgot to add: in the Debugger the passed Object, which is said to be not convertable in the desired type, shows the right properties.
Pretty strange to me. --- In flexcoders@yahoogroups.com, "florian.salihovic" <[EMAIL PROTECTED]> wrote: > > 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/playl isteditor/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\fra meworks\projects\framework\src\mx\controls\listClasses > \ListBase.as:1359] > at > mx.controls.listClasses::ListBase/updateDisplayList()[E:\dev\3.1.0\frameworks\projects\fr amework\src\mx\controls\listClasses\ListBase.as:3657] > at mx.controls::List/updateDisplayList()[E:\dev\3.1.0\frameworks\projects\framework\src\m x\controls\List.as:1003] > at > mx.controls.listClasses::ListBase/validateDisplayList()[E:\dev\3.1.0\frameworks\projects\f ramework\src\mx\controls\listClasses\ListBase.as:3279] > at mx.managers::LayoutManager/validateDisplayList()[E:\dev\3.1.0\frameworks\projects\fra mework\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\framewo rk\src\mx\core\UIComponent.as:8565] > at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.1.0\frameworks\projects\framewor k\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 flexcoders@yahoogroups.com, "Alex Harui" <aharui@> wrote: > > > > If you get an runtime exception, always use a debug build and post the > > full stacktrace. > > > > > > > > ________________________________ > > > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > > Behalf Of florian.salihovic > > Sent: Monday, August 18, 2008 9:30 AM > > To: flexcoders@yahoogroups.com > > 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! > > >