Look at ArrayUtil.toArray method that trasforms an object to an array.

I'd think something like that would work:
var arrayCollection : ArrayCollection=  new ArrayCollection ( 
ArrayUtil.toArray(myListRequest. lastResult. records.record) );

HTH,
Valy


----- Original Message ----
From: Steve Cox <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, November 28, 2006 6:46:34 AM
Subject: RE: [flexcoders] lastResult.records.record.length=null when there's 
actually 1









  


    
            











Try something
like the following (I’m using result here instead of lastResult,
but see what works for you:
 

  
 

  
 

var acResults
: ArrayCollection;
 

  
 

if (myListRequest. lastResult. records.record
is ArrayCollection)
 

{
 

            acResults = myListRequest. lastResult. records.record;
 

} 
 

else 
 

{
 

            acResults = new ArrayCollection();
 

            acResults.addItem(myListRequest. lastResult. records.record);
 

}
 

Alert.show(acResults.length. toString());
 

  
 

  
 

HTH,
 

  
 

Steve
 

  
 

  
 

  
 

-----Original Message-----

From: [EMAIL PROTECTED] ups.com
[mailto:flexcoders@ yahoogroups. com] On Behalf
Of Ben Marchbanks

Sent: 28 November 2006 11:29

To: [EMAIL PROTECTED] ups.com

Subject: Re: [flexcoders]
lastResult.records. record.length= null when there's actually 1


  
 







Thanks Steve for explaining exactly the root cause.



What method would you recommend to test if the 

result is an array or an object ?



Steve Cox wrote:

> When a result contains only 1 object Flex converts it to an Object not

> an ArrayCollection. Therefore your

> myListRequest. lastResult. records.record is an object and won't
have the

> .length property. When you receive more than 1 record it will be an

> ArrayCollection of objects.

> 

> You'll need to check the type of myListRequest. lastResult. records.record

> before you do any work with it.

> 

> Hope that helps,

> 

> Steve

> 

> -----Original Message-----

> From: [EMAIL PROTECTED] ups.com
[mailto:[EMAIL PROTECTED] ups.com]
On

> Behalf Of Ben Marchbanks

> Sent: 27 November 2006 19:21

> To: [EMAIL PROTECTED] ups.com

> Subject: Re: [flexcoders] lastResult.records. record.length= null
when

> there's actually 1

> 

> myRequest.event. result.length ??

> 

> Not sure I understand how to use event.result to 

> get the count of the records returned.

> 

> Tracy Spratt wrote:

>> And avoid using lastResult except for binding. 

>>

>>

>>

>> Instead use event.result.

>>

>>

>>

>> Tracy

>>

>>

>>

>> ____________ _________ _________ __

>>

>> From: [EMAIL PROTECTED] <mailto:flexcoders% 40yahoogroups. com>

> ups.com [mailto:flexcoders@ yahoogro

> <mailto:flexcoders% 40yahoogroups. com> ups.com] On

>> Behalf Of Iko Knyphausen

>> Sent: Friday, November 24, 2006 10:43 PM

>> To: [EMAIL PROTECTED] <mailto:flexcoders% 40yahoogroups. com>
ups.com

>> Subject: RE: [flexcoders] lastResult.records. record.length= null
when

>> there's actually 1

>>

>>

>>

>> Does it behave the same if you use "e4x" as resultFormat?

>>

>> ____________ _________ _________ __

>>

>> From: [EMAIL PROTECTED] <mailto:flexcoders% 40yahoogroups. com>

> ups.com [mailto:flexcoders@ yahoogro

> <mailto:flexcoders% 40yahoogroups. com> ups.com] On

>> Behalf Of pdflibpilot

>> Sent: Friday, November 24, 2006 5:35 PM

>> To: [EMAIL PROTECTED] <mailto:flexcoders% 40yahoogroups. com>
ups.com

>> Subject: [flexcoders] lastResult.records. record.length= null
when

> there's

>> actually 1

>>

>>

>>

>> I use the following to get a count of the records returned by

>> HTTPService request.

>>

>> myListRequest. lastResult. records.record. length;

>>

>> When theres only 1 the result is null ? Otherwise the count is fine

>> whenever it is 2 or more. Is this the expected result ??

>>

>>

>>

>>

> 

> 
 















    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->








 
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com

Reply via email to