Flex :: Converting Array Of ObjectProxy Objects To Custom Objects?
Jun 10, 2011
I have a service which returns an Array of ObjectProxy objects. I would like to cast this to a custom object (a value object) and create an ArrayCollection. How can I do this?ited:I am using Django and PyAMF for the backend. I had to write a custom SQL query and I am wrapping the resulting records in ObjectProxy and sending the whole result as an ArrayCollection.Here is my client side code:
[ArrayElementType("SessionVO")]
[Bindable]
private var _list:ArrayCollection;
I have an object called MenuButton that extends MoveClip.I want to arrange 8 MenuButton objects in a cirle. The easiest way to do this would be to use a for loop and an array of MenuButton objects.The problem is, I'm not exactly sure how to make an array of objects. I've seen some code online, appears to be AS2 and I need 3. It's also not very clear if it does what I need it to.It would also be cool if I was able to name the buttons sequentially, i.e.: button1, button2, etc. I've seen AS2 code for that, but again it's not too clear if that'll work the same in AS3 and if the code I've seen will do what I need it to.
I'm trying to do Array.sortOn on an array of custom-class objects. It's not working, though nothing in the documentation suggests that this is a problem. Below is the code. I'm confident the MetricRecord constructor is working fine because everything else works, and the traces below are correct, except they don't sort.
// This array sorts metricRecords = new Array(); metricRecords.push({mediaVehicle:"cca", temp:"asxcvbxcber"}); metricRecords.push({mediaVehicle:"aaa", temp:"asdfertr"});
I have an array of temporary objects created in a for loop. The objects are of type class "Tile", a class I created. However, it appears that whenever I create a lot of tiles in the for loop, the program slows down indefinitely.
While the array is whiped at a later trigger point, I am thinking that perhaps these Tile objects are not being erased from memory. They are being created on the fly in a for loop, and the array is being reset to "array = []".
Are the objects still in memory or are they cleaned up when the array is set to []?
Is this the correct, most efficient way to recycle objects when creating an array of objects?
package com { public class CreateList extends MovieClip { //this is the object I will be recycling private var newProperty:PropertyRow; //this is the array I will use to reference the objects
What is serialization support like for the new Vector class? I have a Vector.<GameMove> which I'd like to serialize into a ByteArray. GameMove is a custom class. I presume it's necesssary to call registerClassAlias() on GameMove, but do I also have to register Vector.<GameMove>? It's it it's own distinctive type, or is it kinda composed of those two types?
Is it possible to receive custom generic typed objects through AMF? I'm trying to integrate a flex app with an existing C# service but flex is choking on custom generic typed objects. As far as I can tell Flex doesn't even support generics, but I'd like to be able to even just read in the object and cast its members as necessary. I basically just want flex to ignore the <T>. I'm hopeful that there's a way to do this, since flex doesn't complain about typed collections (a server call returning List works fine and flex converts it to an ArrayCollection just like an un-typed List).
The custom C# typed class public class TypeTest<T> { public T value { get; set; } public TypeTest () { }}
The server method returning the typeTest public TypeTest<String> doTypeTest() { TypeTest<String> theTester = new TypeTest<String>("grrrr"); return theTester; [Code] .....
Irritatingly if I change the result handler to take parameter of type Object it works fine. How to make this work with the value object?
I have an object being passed between flash and flex using the a custom event. I am importing a library in flex containing a copy of the object's class. The classes are identical. But when I attempt to access the object in flex I get this error: TypeError: Error #1034: Type Coercion failed: cannot convert com.cackleberries.data.api::ApiObject$ to com.cackleberries.data.api.ApiObject.
This function is passed into flash as a callback from AIR / flex public function airEventHandler(type:String, data:Object):void { switch(type) { case "air_api_call": if(data) { if(data.hasOwnProperty("apiObject")) [Code] .....
I am getting the error when I pass the apiobject to serverApi.makeApiCall. That function takes a ApiObject as its parameter. Initially, the data object is created with with the apiObject key with a ApiObject as the value (done in flash).
I am pretty new to flex, specially to mxml part. There are some confusing things for me.[code]...
So question is how do I access that button's properties. I want when something happens in Xyz file, button's (someId) visibility to become false. If Abc.mxml was AS class file then it would be easy, just make object etc., but how to get if it's mxml file.
I have a custom java class which has an ArrayList and corresponding to it have a custom vo class which has ArrayCollection (in Flex).I want to return data from Java to flex.Every variable in java is getting mapped to vo perfectly except for ArrayList.When trying to retrive When trying to retrive exposureUSDList (which is an arrayList) in flex I am getting empty ArrayCollection. It is not getting mapped properlyPlease find my code below:
Internally Flash obviously keeps a list of the primitives drawn using Graphics so I wondered if you have many such primitives in a Sprite, can you re-position/remove/alter individual items rather than clear and re-draw everything? Or is this deeper into the bowels of Flash than you're allowed (or recommended) to go?
I'm using Zend AMF to send my remote objects to Flex. I've defined a Constant class and created getASClassName() method. Then I've created Action script class in flex.
Objects are send successfully, but they are deserialized to generic Objects in Flex instead of specific ones. EDIT: On network monitor in Flex I can see that AMF value is set to com.my.project.valueobjects.Constant. Although array from event.result contains Objects.
I will try to give as much detail as I can. I am creating an CRM application using Flex(Cairngorm 2)/Java/Hibernate. The basic problem I am having is this: I have a Customer class in Java that has an ArrayList of Address classes. I have a Customer class in Flex that has an ArrayCollection of Address classes. When I make the remote object call for a Customer I get back a Customer object in Flex, but the ArrayCollecion objects have a data type of Object instead of Address. If I try to call for a List of Address classes I get the same result. If I try to call for a List of Customer classes I get a list of Customer classes in Flex. Using tomcat 6 with the following jars:
When the dataProvider for an DataGrid is an array of objects, how do I set each column's dataField to a property of the object.I have an ArrayCollection (say a) where each item is an objectFor example a[i] = data:ObjectWhere the object data has some subproperties - data.name, data.title, data.content etc.I have a DataGrid in which I want to display this data.So I put:
Example: var arr_1:Array = new Array(); arr_1.push({sdate:"2010-02-02",status:"New"}); arr_1.push({sdate:"2010-02-03",status:"New"}); arr_1.push({sdate:"2010-02-04",status:"New"}); arr_1.push({sdate:"2010-02-05",status:"New"}); How can I change element number 3 status to: "Old", without removing it. Just update the status value??
I have a chart and am trying to display the "volume" in a line chart as the primary series & the "temp" as a column chart as the secondary series...(the "compound" will be shown in the datatip):
[{date=Tue Feb 08 19:00:00 EST 2011, volume=1200, 1={temp=-50, compound=helium}, 0={temp=-45, compound=oxygen}}]
I can get the "volume" series to display fine, but cannot get the "temp" series to display...how do I access them? Right now I have:
I am using Flex to create a small form. All I have at the moment is a List component, that I want to populate with a list of font names.I am getting the fonts using Font.enumerateFonts(true);. This returns an array of flash.text.Font objects.
The Font objects have a fontName property that is a String of that fonts name.My problem is that I can't figure out how to bind the List's dataProvider to the fontName property of each of the Font objects in the Array.Is there a way to do this just with binding? and not creating a new array of Strings by looping through the Font objects?
I am trying to add some Sprite objects as the contents of an array, and I would like to be able to "clear" them from the stage. I would assume that if there are loaders involved, I need to do _imgArray[i].close(); _imgArray[i].unload();
And if I am using a sprite, I can do: removeChild(_imgArray[i]); None of the above work.
Currently I try: for(i = 0; i < _localXML.length(); i++) { var tmp:BMLink = new BMLink(_localXML[i], _bw, _bh, i); _imgArray[i] = tmp; _imgArray[i].x = (_bw + _mainpad) * i; _base.addChild(_imgArray[i]); But this doesn't work.
The class instances that are populating the array are all extending sprite, but they have their own individual loaders inside w/ progress events etc.
I have a datagrid that uses an array of objects as the data provider. The objects are essentially key/value pairs:
{ foo:"something"} { bar:"hello"} { caca:"lorem"}
The datagrid has 2 columns. The first column is the key and the second column is the value. Right now my grid looks like:
My dataFormatter function makes sure that depending on the column (i.e. the dataField value) the correct key or value gets printed out. This works fine for displaying. However, as soon as I try and edit the value field it essentially adds a new value into the object with a key of '1'. For example, if I edit the {caca:"lorem"} object it will then contain the value {caca:"lorem",1:"new value"}.
Is there any possible way I can set the DataGridColumn so that when I edit a value it will update the value associated with the key rather than inserting a new value? I've tried using a custom item editor but it still does the insert. It seems like I need to be able to update the 'dataField' with the actual key value but I'm not sure how to do that.
I have a collection of Objects in an ArrayCollection in my flex page.
What is the best approach to send this data to a Java Servlet?
The object in the ArrayCollection is a VO that consists of an id and message for now. I want a solution that is scalable in case more properties are added later on.
This is NOT duplicate of my earlier post (its is slightly different)But this is similar issue with similar error but its not the same error The error I am getting now is below while dispatching the custom event from my custom component
TypeError: Error #1034: Type Coercion failed: cannot convert events::MapEvent@a74ab51 to flash.events.MouseEvent. dispatchEvent(new MapEvent(MapEvent.CLICKED_ON_MAP));
Note: The error in my earlier post is giving below error message
Type Coercion failed: cannot convert flash.events::Event@81ecb79 to com.events.ShopEvent
The difference here are two things, the earlier error is while converting flash event to custom event and now this one is while converting custom event to flash event and secondly, I have no clue why it is trying to convert to the mouseevent where I am just dispatching my custom event with proper listeners.
I have creating a distributed note taking application in flex, it basically is a notepad I can keep in my desktop tray. When I add notes and goes back to a server and saves it in a database.
To am struggling to design the application correctly, I want to have a Syncing service that polls the webserver for changes and updates an Array of Note objects. The problem is that my note corresponds mxml component, aka SingleNote component. There are four different cases when being, a. a note is updated from the server poll, in that case I want to singlenote to update the settings b. a note is added to the array from the server, in that case a new SingleNote needs to be created c. a SingleNote is added from client, in that case a Note is added to array, and sent back to server d. a SingleNote is change from client, in that case the Note is updated in the array and sent back to server
Right away i just try to explain my problem: Using BlazeDS i got the following Javaclasses:
[Code]...
Then i got a Flex service class calling BlazeDS and executing the getCategories java method. Since Flash dosn't seem to understand typed arrays, the result from that method which i get back in flex is a simple array of untyped objects (the mapping dosn't seem to work here, even tought the class category exists in flex and has the same properties). thats the first thing. but however, i'm converting the untyped objects manually into objects of the category.as class. the second thing is that categories have child-categories within the java object, which are also ArrayLists of the type category.java. the problem about that: my result event object only contains the first level of categories, looking into them the children are allways null. i dunno why they are empty, since they ARE part of the java object category.
and the third thing (the strangest by fast), you maybe noticed i named the properties of the category.java class strange, like idCat and nameTest instead of simply id and name. why that? because the property names of my flex result objects dont seem to change when i change the java objects properties names (result object properties are named "id" and "name" but the java class object properties are named "idCAT" and "nameTEST"). that it REALLY strange, since if i set the properties, like you see at nameTEST = "TESTNAME" it IS recogniced by flex, only the proertyNAMES dont seem to be recognized at all.
I am having an issue with picking up custom data types from a drop down lists. To make this as easy to understand as possible, I'll use a simple example of what I want to be able to doSo say I have a custom data type (Say of type Dog). Dog contains a name, breed and age. I store each instance of a dog in an ArrayCollection:[Bindable]private var dogData : ArrayCollection;This ArrayCollection holds 1..N Dog objects with the respective information. Now having a dropdown like so:<s:DropDownList x="81" y="178" id="dogSelected" prompt="Dog Selected:" dataProvider="{dogData}" labelField="dogNameData" />he dogNameData would hypothetically come from a custom ActionScript class that has the 'name' field of the Dog in that object.
Now I want to select a certain dog from the dropdown. I tried to just do it this way:var theDog : Dog;theDog = dogSelected.selectedItem;However, ActionScript does not seem to like this. Now, I read around and found out that using the label field is the way to be able to select this. I have been unable to select the dog item, so I can then bind it to:
var selectedDogBreed : String; //var theDog : Dog = the selected object from my drop down selectedDogBreed = theDog.breed
I have a class called LevelHandler. Inside each LevelHandler object is a bunch of arrays, various numbers, etc. Instead of saving the data for all these things separately, I've decided to save my LevelHandler object.
Here's what I've tried:
[code]...
You all expected this to work, right? Just kidding, it didn't. The problem is, when I try to set levelHandler equal to myLocalData.data.levelHandler, there is a type coercion failure (converting an Object to a LevelHandler). I know why this was happening, so I tried to make use of the "as" keyword. Still, apparently saved data can only be stored and understood as an Object.So, how can I save this LevelHandler object such that it can be accessed in the future (like when I need to trace how many levels there are)?