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!
> >
>



Reply via email to