Hi Rick

Do you think the error is happening on

>       <view:PhoneDetails id="phoneDetails"
>               phone="{phoneList.selectedItem}"
>               width="100%" />

?

Try uncommenting this to verify. How is phone typed in PhoneDetails? If
typed as PhoneVO, you'd need to cast selectedItem, which is typed as
Object to PhoneVO like:

>       <view:PhoneDetails id="phoneDetails"
>               phone="{PhoneVO( phoneList.selectedItem )}"
>               width="100%" />


Best,
Alex

Alex Uhlmann
Consultant (Rich Internet Applications)
Adobe Consulting
Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK
p: +44 (0) 131 338 6969
m: +44 (0) 7917 428 951 
[EMAIL PROTECTED] 


-----Original Message-----
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Rick Schmitty
Sent: 15 April 2006 00:52
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Cairngorm Phone Selector in F2B2

Hello I'm trying to get the phone selector running on cairngorm 2 and am
having some problems

After chaning references to http://www.adobe.com/2006/mxml and changing
ApplicationView.mxml setPropety from <mx:SetProperty property="enabled"
value="false" /> to <mx:SetProperty name="enabled"
value="false" />  I also changed PhoneVO.as to implement ValueObject

I now get:

"Implicit coercion of a value with static type 'Object' to a possibly
unrelated type 'com.mycompany.phones.model:PhoneVO'"


Here is the ApplicationView.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml";
        xmlns:view="com.mycompany.phones.view.*"
        currentState="{model.applicationState}"
        height="400"
        layout="horizontal"
        title="Nokia Phone Selector"
        width="700">
        
        <mx:Script>
                <![CDATA[
                        import
com.mycompany.phones.model.ApplicationModel;    
                        import com.mycompany.phones.model.PhoneVO;
                        import
com.mycompany.phones.controller.PhoneGetEvent;
                        import flash.events.Event;
                        
                        public static var STATE_DEFAULT:String = "";
                        public static var STATE_LOADING:String =
"loading";
                        
                        [Bindable]
                        public var model:ApplicationModel =
ApplicationModel.getInstance();
                ]]>
        </mx:Script>
        
        <mx:List id="phoneList"
                dataProvider="{model.phones}"
                height="100%"
                labelField="name"
                width="150" />
                
        <view:PhoneDetails id="phoneDetails"
                phone="{phoneList.selectedItem}"
                width="100%" />
        
        <mx:states>
                
                <mx:State name="{STATE_LOADING}">
                
                        <mx:SetProperty name="enabled" value="false" />
                                
                </mx:State>
                
        </mx:states>
        
</mx:Panel>


And here is the PhoneVO:

package com.mycompany.phones.model {
        
        import org.nevis.cairngorm.vo.ValueObject;
        
        [Bindable]
        [RemoteClass(alias="com.mycompany.phones.model.PhoneVO")]
        
        public class PhoneVO implements ValueObject {
        
                public var name:String;
                public var description:String;
                public var price:Number;
                public var image:String;
                public var series:String;
                public var triband:Boolean;
                public var camera:Boolean;
                public var video:Boolean;
                public var highlight1:String;
                public var highlight2:String;

                public function PhoneVO() {
                        name  = "";
                        description = "";
                        price = 0;
                        image = "";
                        series = "";
                        triband = false;
                        camera = false;
                        video = false;
                        highlight1 = "";
                        highlight2 = "";
                }
                
        }
}

And here is PhoneVO.cfc

<cfcomponent>

<cfproperty name="name" type="string" default=""> <cfproperty
name="description" type="string" default=""> <cfproperty name="price"
type="numeric" default="0"> <cfproperty name="image" type="string"
default=""> <cfproperty name="series" type="string" default="">
<cfproperty name="triband" type="boolean" default="false"> <cfproperty
name="camera" type="boolean" default="false"> <cfproperty name="video"
type="boolean" default="false"> <cfproperty name="highlight1"
type="string" default=""> <cfproperty name="highlight2" type="string"
default="">

<cffunction name="init" output="false"
returntype="com.mycompany.phones.model.PhoneVO">
        <cfscript>
        this.name = "";
        this.description = "";
        this.price = 0;
        this.image = "";
        this.series = "";
        this.triband = "false";
        this.camera = "false";
        this.video = "false";
        this.highlight1 = "";
        this.highlight2 = "";
        </cfscript>
        <cfreturn this />
</cffunction>

<cffunction name="populate" output="false" returntype="void">
        <cfargument name="data" type="Struct" />
        <cfscript>
        this.name = data.name;
        this.description = data.description;
        this.price = data.price;
        this.image = data.image;
        this.series = data.series;
        this.triband = data.triband;
        this.camera = data.camera;
        this.video = data.video;
        this.highlight1 = data.highlight1;
        this.highlight2 = data.highlight2;
        </cfscript>
</cffunction>
        
</cfcomponent>


I can't tell what other object I'm not being strict enough on, anything
obvious missing?


--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links



 




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to