[flexcoders] Extending a subclass of Proxy
I'm trying to extend a subclass of the Proxy class and I'm getting an error. Here is an example of my problem: // ProxyA.as package {import flash.utils.Proxy;import flash.utils.flash_proxy; public class ProxyA extends Proxy {flash_proxy override function callProperty(methodName:*, ...args):* {return "ProxyA: " + methodName;}}} // ProxyB.as package {import flash.utils.flash_proxy; public class ProxyB extends ProxyA {flash_proxy override function callProperty(methodName:*, ...args):* {return "ProxyB: " + methodName;}}} // ProxyBugExample.as package {import flash.display.Sprite;import flash.utils.Proxy; public class ProxyBugExample extends Sprite {public function ProxyBugExample() {var proxy:Proxy = new ProxyB();trace(proxy.test());}}} I the ProxyB class I get the following error: Namespace was not found or is not a compile-time constant. I assume this is referring to the flash_proxy namespace, but it is imported just like in the ProxyA class. I'm not sure what the problem here is, any help would be appreciated. Thanks, Danny __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] custom component: how to tap into resize?
I'm creating a custom component extending UIComponent. Much of the component is drawn by the Drawing API during the updateDisplayList using settings calculated during the commitProperties. Works great. The problem arises when the end developer USING the component changes the size of it manually (example: the height and width are 150, and they create a button whose click changes the component's width to 300). My commitProps and updateDispList are VERY conditional - only redrawing the elements that NEED to be redraws to increase performance. What I can't find / missed is how to know the component itself resized and to set a flag that will tell my commitProps and updateDispList to redraw everything. What is that event / how do I tell they resized me? Thanks! -- TC -- 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/
RE: [flexcoders] Adobe, Help Memory Leaking !!
Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED]com wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: [EMAIL PROTECTED]ups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED]com wrote: Rich, The app takes memory up 7MB then drops back to 5Mb on a GC run. There is no way to force the GC to run. Can you also send me your browser, os, player version. Also are you on a dual-core machine? Ted From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 5:29 AM To: [EMAIL PROTECTED]ups.com Subject: [flexcoders] Adobe, Help Memory Leaking !! I have an application that uses many repeaters where the repeater's dataproviders are constantly updated which redraws the view. All look fine visually, however the flash player continues to use more and more memory. I created a demo version of this at http://www.everythingflex.com/flex2/MemoryTest/ I have buttons which up the amount of repeater items and then lower them and also attemp to delete the arraycollection, delete the dataprovider, etc but the memory never is recaptured. The source is also provided. Does anyone know how to get the garbage collection to run when the repeaters content changes?? Rich -- Rich Tretola mx:EverythingFlex/ http://www.EverythingFlex.com -- Rich Tretola mx:EverythingFlex/ http://www.EverythingFlex.com __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] Flex / Coldfusion / Combobox / Retrieve selected data value
How about cvcompanyValue.selectedItem.data michrx7 wrote: Ok, so I've created a combo box with id cvcompanyValue, then I call my coldfusion cfc and return a query with two fields "data" and "label". Data holding a list of company IDs and label holding the corresponding company names. Then I set the combobox provider to the result and everything populates as it should. I can easily return the selected label in the combobox using: Alert.show(cvcompanyValue.selectedLabel.valueOf()); But, how do I return the data of the selected combobox (my original IDs)? Do I have to sort through the ArrayCollection until I find the matching label? I can't imagine there isn't something like: Alert.show(cvcompanyValue.selectedData.valueOf()); Help please! __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] Re: Functionality Between Components and the Main Application
i completely agree with Jeff - using the events is the best way to go. If, for some reason that doesn't work for you, you can always reference the application using mx.core.Application.application, which is a reference to the top top Application (even if your swf is loaded inside another application's swf. You can also traverse the parent application(s) for nested apps with any component's parentApplication property: http://livedocs.macromedia.com/flex/2/docs/wwhelp/wwhimpl/common/html/ wwhelp.htm?context=LiveDocs_Partsfile=0644.html --- In flexcoders@yahoogroups.com, Battershall, Jeff [EMAIL PROTECTED] wrote: Your custom component should dispatch its events. The parent application which should be listening for them. Something like this might work: comp:MyComp itemClicked=popUpWindow(event)/ Jeff -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Megan Sent: Wednesday, August 23, 2006 1:15 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Functionality Between Components and the Main Application Hi! I've been trying to figure out how to do this sort of thing, and thought I'd ask before messing with it anymore. I have a toolbar that's in its own component, and it has some buttons on it that will open new windows/popups. What I need to have happen is, when one of the buttons gets clicked, the window pops up inside a container that's on the main application. Right now they show up at the top corner of the toolbar. I gave the VBox in the middle of the main application an ID, but when I try to tell the toolbar to open the window there, it gives me an error because that ID doesn't exist inside the toolbar... I've also tried telling the button to run a function in the main application to open the popup but it tells me that I'm calling a possibly undefined method through a reference with static type Class. I hope that makes sense. Any ideas? Thank you! -- 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/
Re: [flexcoders] Re: How to refresh a tree
I too have had problems with XML nodes in tree. One thing that eliminated a lot of the issues was reassigning the dataProvider of the tree explictly (right after you update the node.so...[Bindable]private var xmlN : XML private function updateTreeDataProvider : void {//code that updates xmlN treeNav.dataProvider= xmlN;}mx:Tree id="treeNav" Marcel Fahle [EMAIL PROTECTED] wrote: Hi Dave, did you found a solution on that? I've got a similar problem here. Marcel Dave Bobby wrote:This is flaky, might be a bug.root -a --aa --ab --ac -b -c --ca --cb --ccsay the last server retrieval got ca, cb and cc. but the tree did not show a scrollbar. this tree is in a vDivided box, so when i move the divider upto b, i see a scrollbar, but when i move divider to cb or cc, ca-cb and cc disappear and no scrollbar.bug? or am i doing something wrong? i think that the tree should be refreshing when i do such operations.thanks.--- In [EMAIL PROTECTED]ups.com, "Dave Bobby" [EMAIL PROTECTED]. wrote: I am trying to append data retrieved to selectedItems in the tree represented by an XMLListCollection. During the trace I see that the retrieived items have been added to the XMLListCollection correctly and this collection in Bindable.But the tree itself behaves wierd. Sometimes it shows the scrollbars, sometimes not. Sometimes, when I scroll up and down, it collates different nodes to different parents visually. Any ideas?Thanks.Dave. __Do You Yahoo!?Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] custom component: how to tap into resize?
Hi,There is a RESIZE event but...If you are actually creating a custom component, I wouldn't recommend attaching events that actually are going to effect your updateDisplayList() and commitProperties(). Ok, If a client calls width or height, you are going to get an invalidateProperties(), invalidateSize() and invalidateDisplayList().Lets see, the sequence would be...1) myComponent.width = 350; 2) myComponent.invalidateSize()3) myComponent.invalidateProperties()4) myComponent.invalidateDisplayList()5) myComponent.commitProperties()6) myComponent.updateDisplayList() You will get this always.The trick would be to check your cached properties in commitProperties(), then if they have changed, switch a flag that says(as aggregated as you want) var baseCalc:int = blah; if (baseCalc != cachedBaseCalc){ cachedBaseCalc = baseCalc; rightBoxInvalidateFlag = true}Then...In you call that happens next in the updateDisplayList() you now have a fine grained access point to only update the calcs that have changed. IE updateDisplayList()If(rightBoxInvalidateFlag){ //redraw only right box since it's metrics changed rightBoxInvalidateFlag = false;}I hope that helps and doesn't confuse. hehe I develop some pretty big components and using events IN your component, well my opinion is nah don't do it. Use the framework Luke. ;-)Peace, MikeOn 8/23/06, tddclare [EMAIL PROTECTED] wrote: I'm creating a custom component extending UIComponent. Much of the component is drawn by the Drawing API during the updateDisplayList using settings calculated during the commitProperties. Works great. The problem arises when the end developer USING the component changes the size of it manually (example: the height and width are 150, and they create a button whose click changes the component's width to 300). My commitProps and updateDispList are VERY conditional - only redrawing the elements that NEED to be redraws to increase performance. What I can't find / missed is how to know the component itself resized and to set a flag that will tell my commitProps and updateDispList to redraw everything. What is that event / how do I tell they resized me? Thanks! -- TC -- What goes up, does come down. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] custom component: how to tap into resize?
opps, missed one;5a) myComponent.commitProperties()5b) myComponent.measure()Peace, MikeOn 8/23/06, Michael Schmalle [EMAIL PROTECTED] wrote:Hi,There is a RESIZE event but... If you are actually creating a custom component, I wouldn't recommend attaching events that actually are going to effect your updateDisplayList() and commitProperties(). Ok, If a client calls width or height, you are going to get an invalidateProperties(), invalidateSize() and invalidateDisplayList().Lets see, the sequence would be...1) myComponent.width = 350; 2) myComponent.invalidateSize()3) myComponent.invalidateProperties()4) myComponent.invalidateDisplayList()5) myComponent.commitProperties()6) myComponent.updateDisplayList() You will get this always.The trick would be to check your cached properties in commitProperties(), then if they have changed, switch a flag that says(as aggregated as you want) var baseCalc:int = blah; if (baseCalc != cachedBaseCalc){ cachedBaseCalc = baseCalc; rightBoxInvalidateFlag = true}Then...In you call that happens next in the updateDisplayList() you now have a fine grained access point to only update the calcs that have changed. IE updateDisplayList()If(rightBoxInvalidateFlag){ //redraw only right box since it's metrics changed rightBoxInvalidateFlag = false;}I hope that helps and doesn't confuse. hehe I develop some pretty big components and using events IN your component, well my opinion is nah don't do it. Use the framework Luke. ;-)Peace, MikeOn 8/23/06, tddclare [EMAIL PROTECTED] wrote: I'm creating a custom component extending UIComponent. Much of the component is drawn by the Drawing API during the updateDisplayList using settings calculated during the commitProperties. Works great. The problem arises when the end developer USING the component changes the size of it manually (example: the height and width are 150, and they create a button whose click changes the component's width to 300). My commitProps and updateDispList are VERY conditional - only redrawing the elements that NEED to be redraws to increase performance. What I can't find / missed is how to know the component itself resized and to set a flag that will tell my commitProps and updateDispList to redraw everything. What is that event / how do I tell they resized me? Thanks! -- TC -- What goes up, does come down. -- What goes up, does come down. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] Re: How to refresh a tree
Hi,There is some issues with the Tree and XML dtat provider collections.One thing I can suggest is;Add an event listener to the divider bar release, I can't remeber what it is, in that handler call myTree.invalidateList();Give it a try and let me know.I have the same issues with using itemRenderers and changing some internal data specific things. After I am done with my process, I called invalidateList() and it did a nice redraw quickly. There probably is just an update isse and measure() is not being called correctly.Peace, MikeOn 8/23/06, e baggg [EMAIL PROTECTED] wrote: I too have had problems with XML nodes in tree. One thing that eliminated a lot of the issues was reassigning the dataProvider of the tree explictly (right after you update the node.so...[Bindable] private var xmlN : XML private function updateTreeDataProvider : void {//code that updates xmlN treeNav.dataProvider= xmlN;}mx:Tree id=treeNav Marcel Fahle [EMAIL PROTECTED] wrote: Hi Dave, did you found a solution on that? I've got a similar problem here. Marcel Dave Bobby wrote:This is flaky, might be a bug.root -a --aa --ab --ac -b -c --ca --cb --ccsay the last server retrieval got ca, cb and cc. but the tree did not show a scrollbar. this tree is in a vDivided box, so when i move the divider upto b, i see a scrollbar, but when i move divider to cb or cc, ca-cb and cc disappear and no scrollbar.bug? or am i doing something wrong? i think that the tree should be refreshing when i do such operations.thanks.--- In flexcoders@yahoogroups.com, Dave Bobby [EMAIL PROTECTED] wrote: I am trying to append data retrieved to selectedItems in the tree represented by an XMLListCollection. During the trace I see that the retrieived items have been added to the XMLListCollection correctly and this collection in Bindable.But the tree itself behaves wierd. Sometimes it shows the scrollbars, sometimes not. Sometimes, when I scroll up and down, it collates different nodes to different parents visually. Any ideas?Thanks.Dave. __Do You Yahoo!?Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- What goes up, does come down. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] FlexBuilder 2.0 SDK plugin with IBM RAD 6.0?
Has anyone tried to install the plugin to RAD 6.0? When I try it tells me wrong eclipse version. It looks like my RAD eclipse version is 3.0.2, but RAD 6.0 is IBM's latest and greatest. Maybe someone could tell me how to install it successfully? Am I gonna have to run two versions of eclipse? : | Thanks, Libby -- 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/
Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 A few things... First I am working on a demo that will show the performance and bandwidth differences between the various ways of exchanging data between Flex apps and the backend. I'll let everyone know when it's ready... Hopefully next week. Second, the GZIP thing does work to reduce bandwidth, but you take quite a hit on latency and server cpu cycles depending on just how much data and how often stuff is passing through the servlet or apache filter. In every case I've ever seen, RemoteObject significantly increases developer productivity, significantly reduces bandwidth, significantly reduces latency, significantly reduces server load, and significantly reduces client cpu cycles. This applies to REST, SOAP, and JSON. With the most significant benefits when compared against SOAP, since SOAP is so verbose compared to the others. - -James Dave Wolf wrote: Basically every webcontainer these days supports GZIP compression. We use Tomcat in many circumstances which is hyper configurable. We can actually tell it to only compress the SOAP traffic and to do so when it exceeds N bytes etc. So in effect we turn SOAP into a compressed binary format. That makes that differential much less relevant. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE7OF4sZ9+wiQzdmARAorBAKCDvmyF/vPp4CANVJ+xOW6fhiTHFwCgv5is 3O+Es/BPlaop2gx5lnPBHYM= =mnO6 -END PGP SIGNATURE- -- 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/
[flexcoders] Variable Type for Web Service Result
Greetings - Expanding on the Connecting to Web Services tutorial, I added a combo box for switching between methods of the API to the Adobe blog aggregator, ie from getMostPopularPosts to search. As both methods return the same columns, the data grid displaying the result can stay the same, other than needing a different value for data provider, ie: myWebService.getMostPopularPosts.lastResult vs myWebService.search.lastResult I was hoping therefore to bind the dataGrid dataProvider value to a variable which I'd set when users change the value of the comboBox (which selects which method to use). However I think I'm typing the variable which stores the value of the service result wrong, as I get null whenever I try and set the value (blogResult), show below: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ [Bindable] public var blogResult:Object = null; public function postTyper(event:Event):void{ if (event.currentTarget.selectedItem.data == popular){ postTypeVS.selectedIndex=1; blogResult = blogAggrWS.getMostPopularPosts.lastResult; trace (blogResult); } else{ postTypeVS.selectedIndex=0; blogResult = blogAggrWS.search.lastResult; trace (blogResult); } } ]] /mx:Script mx:WebService id=blogAggrWS wsdl=http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc? wsdl useProxy=false mx:operation name=getMostPopularPosts mx:request daysBack{daysBackCB.value}/daysBack limit{numPostsCB.value}/limit /mx:request /mx:operation mx:operation name=search mx:request offset0/offset limit50/limit searchTerms{postKeywords.text}/searchTerms sortByrelevance/sortBy languageIds1/languageIds /mx:request /mx:operation mx:operation name=getLanguages mx:request/ /mx:operation /mx:WebService mx:Panel width=850 height=400 layout=absolute horizontalCenter=0 verticalCenter=0 title=Adobe Blogs Post Finder mx:HBox horizontalCenter=0 top=20 verticalAlign=middle mx:Label text=Get:/ mx:ComboBox id=whatPostsCB change=postTyper(event) mx:Object label=Posts By Keyword data=search / mx:Object label=Most Popular Posts data=popular / /mx:ComboBox mx:ViewStack id=postTypeVS width=400 mx:HBox verticalAlign=middle mx:TextInput id=postKeywords text=/ mx:Button label=Search click=blogAggrWS.search.send()/ /mx:HBox mx:HBox verticalAlign=middle width=372 creationComplete=blogAggrWS.getMostPopularPosts.send() mx:Spacer width=10/ mx:Label text=Show:/ mx:ComboBox id=numPostsCB change=blogAggrWS.getMostPopularPosts.send() mx:Object label=Top 5 Posts data=5 / mx:Object label=Top 10 Posts data=10 / mx:Object label=Top 15 Posts data=15 / /mx:ComboBox mx:Spacer width=10/
Re: [flexcoders] Adobe, Help Memory Leaking !!
Just try loading a large amount of buttons a few times and watch the memory go up and up. When I went back to just a few buttons, the memory actually went up a little rather than dropping back down. http://www.everythingflex.com/flex2/MemoryTest/ RichOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: The 300 megs is the application that I am working on, not the sample app. The actual project app has about 20 or so repeaters, the sample was just a single version to demonstrate that the garbage collector is not working. I have been able to get the sample app over 200 megs of ram usage by runnig 5000 buttons a few times, the app memory in the txt box shows about 185 megs See the attached screen shots. The 5000 was created 1st and then I updated the array to 5 buttons and waited and then took the 2nd screen shot. The browser never releases the memory and neither does the flash player. RichOn 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, The app takes memory up 7MB then drops back to 5Mb on a GC run. There is no way to force the GC to run. Can you also send me your browser, os, player version. Also are you on a dual-core machine? Ted From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 5:29 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Adobe, Help Memory Leaking !! I have an application that uses many repeaters where the repeater's dataproviders are constantly updated which redraws the view. All look fine visually, however the flash player continues to use more and more memory. I created a demo version of this at http://www.everythingflex.com/flex2/MemoryTest/ I have buttons which up the amount of repeater items and then lower them and also attemp to delete the arraycollection, delete the dataprovider, etc but the memory never is recaptured. The source is also provided. Does anyone know how to get the garbage collection to run when the repeaters content changes?? Rich -- Rich Tretola mx:EverythingFlex/ http://www.EverythingFlex.com -- Rich
Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Sorry for the double post. Forgot to mention one thing... The benefits are also seen with DataService, and ever more so when you use lazyLoading and paging. - -James James Ward wrote: A few things... First I am working on a demo that will show the performance and bandwidth differences between the various ways of exchanging data between Flex apps and the backend. I'll let everyone know when it's ready... Hopefully next week. Second, the GZIP thing does work to reduce bandwidth, but you take quite a hit on latency and server cpu cycles depending on just how much data and how often stuff is passing through the servlet or apache filter. In every case I've ever seen, RemoteObject significantly increases developer productivity, significantly reduces bandwidth, significantly reduces latency, significantly reduces server load, and significantly reduces client cpu cycles. This applies to REST, SOAP, and JSON. With the most significant benefits when compared against SOAP, since SOAP is so verbose compared to the others. -James Dave Wolf wrote: Basically every webcontainer these days supports GZIP compression. We use Tomcat in many circumstances which is hyper configurable. We can actually tell it to only compress the SOAP traffic and to do so when it exceeds N bytes etc. So in effect we turn SOAP into a compressed binary format. That makes that differential much less relevant. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE7OJ8sZ9+wiQzdmARArHRAJ97Sjew/Y3a0FQfA2r1cysd55K08wCgk2id mHzyM1OUEl1AVEUbpHWkcCs= =lRPl -END PGP SIGNATURE- -- 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/
RE: [flexcoders] Flash Data Services - help needed
Hi Benjamin, With regard to the exception, in your services-config.xml file you'll can find a channel-definition for an RTMP channel. The RTMP channel endpoint on the server is a socket server that binds to the port specified in the endpoint uri=.../ element. A single port can't be bound by multiple handlers, so if you have several FDS applications running on your Tomcat server you'll need to configure the RTMP channels across these applications to use unique ports. Hope that helps, Seth From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Dobler Sent: Wednesday, August 23, 2006 1:23 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Flash Data Services - help needed Hi everyone, finally i found the time to try out the data services. I`m using tomcat 5.5 and Java Open Transaction Manager form my basic setup. I was able to run the samples that ship with fds but now when i try to set up my own projects i get stuck with some errors. I get the following message from the tomcat logs: Exception in thread RTMP-Server flex.messaging.endpoints.rtmp.RTMPException: The RTMP server has encountered a fatal exception starting up: Address already in use: bind at flex.messaging.endpoints.rtmp.BaseNIORTMPServer.run(BaseNIORTMPServer.java:310) at java.lang.Thread.run(Unknown Source) Let me say i`m not a server or java guy - so if anyone has an idea. It would also be good if someone could point me to a basic tutorial for setting up fds and building a simple application - not based on the samples that ship with fds. For me it would be important to know how to configure the various configuration xml files in the flex folder. Thanx for any help Benz -- 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/
Re: [flexcoders] Re: custom component: how to tap into resize?
When components you are creating, framework you will want to use, no?I don't know if I understand exactly what you are asking but, if it is When I create components that are .as files and subclass a framework class, do I want to use the Template Method Pattern of the flex framework? The answer would be yes of course.I would put it this way.If you are developing a car and you are an engineer, you would use the schematics of the car design, the way the car was engineered to run to add a specific add in subsystem in the internal workings of the car. Now, If I was an outside company that created addd-ons for that car, I would use the 'macro' schematic verses the micro of the actual car engineering.The thought is, the tighter you integrate your design into the frame of the target, the tighter your component becomes and actually becomes PART of the car not an addon. If I was creating an mxml component, I would tend you use events more because in my view, an mxml component is an addon not an inherent subsystem of the framework.I don't advocate creating anything in mxml that needs to be subclassed in the future because although it gets rendered into an as3 class, it is not extensible like an as3 class file because the development pattern differs in respect to creating a subsystem of the actual framework. Anyway, rambling aside, events belong to clients. The framework belongs to subsystems of that framework. If you have a composite component(client of the component) inside your subclassed as file, by all means use events. Just don't use events in a component to talk to itself. Performance wise, this pattern will always beat events.Peace, MikeOn 8/23/06, tddclare [EMAIL PROTECTED] wrote: perfect. the cache of the old values seems to be the right way. it's actually how Im handling many of my other internal properties, since they can ASK for a property to be set to a value, but it may or may not be in the allowable range (specific to my component). Don't know why I didn't think of that. When components you are creating, framework you will want to use, no? --- In flexcoders@yahoogroups.com, Michael Schmalle [EMAIL PROTECTED] wrote: opps, missed one; 5a) myComponent.commitProperties() 5b) myComponent.measure() Peace, Mike On 8/23/06, Michael Schmalle [EMAIL PROTECTED] wrote: Hi, There is a RESIZE event but... If you are actually creating a custom component, I wouldn't recommend attaching events that actually are going to effect your updateDisplayList() and commitProperties(). Ok, If a client calls width or height, you are going to get an invalidateProperties(), invalidateSize() and invalidateDisplayList(). Lets see, the sequence would be... 1) myComponent.width = 350; 2) myComponent.invalidateSize() 3) myComponent.invalidateProperties() 4) myComponent.invalidateDisplayList() 5) myComponent.commitProperties() 6) myComponent.updateDisplayList() You will get this always. The trick would be to check your cached properties in commitProperties(), then if they have changed, switch a flag that says(as aggregated as you want) var baseCalc:int = blah; if (baseCalc != cachedBaseCalc) { cachedBaseCalc = baseCalc; rightBoxInvalidateFlag = true } Then... In you call that happens next in the updateDisplayList() you now have a fine grained access point to only update the calcs that have changed. IE updateDisplayList() If(rightBoxInvalidateFlag) { //redraw only right box since it's metrics changed rightBoxInvalidateFlag = false; } I hope that helps and doesn't confuse. hehe I develop some pretty big components and using events IN your component, well my opinion is nah don't do it. Use the framework Luke. ;-) Peace, Mike On 8/23/06, tddclare [EMAIL PROTECTED] wrote: I'm creating a custom component extending UIComponent. Much of the component is drawn by the Drawing API during the updateDisplayList using settings calculated during the commitProperties. Works great. The problem arises when the end developer USING the component changes the size of it manually (example: the height and width are 150, and they create a button whose click changes the component's width to 300). My commitProps and updateDispList are VERY conditional - only redrawing the elements that NEED to be redraws to increase performance. What I can't find / missed is how to know the component itself resized and to set a flag that will tell my commitProps and updateDispList to redraw everything. What is that event / how do I tell they resized me? Thanks! -- TC -- What goes up, does come down. -- What goes up, does come down. -- What goes up, does come down. __._,_.___ -- Flexcoders Mailing List FAQ:
RE: [flexcoders] Re: Remote object help again..
I have not heard of this caching bug before, but Ill follow up and see Flex Builder is doing any caching that might cause this. It is the case that when you compile your SWF, the compiler needs to have a pointer to your services-config.xml file. It includes a subset of the destination configuration into the SWF. You can see what it has included when you enable debug logging on the client (e.g. via: mx:TraceTarget/), or you can just trace it out via: import mx.messaging.config.ServerConfig; . trace(ServerConfig.xml); When Ive seen this problem in the past, it was due to the fact that the compilers configuration did not include a pointer to the correct services-config.xml. Jeff From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Mark Piller Sent: Wednesday, August 23, 2006 12:50 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Remote object help again.. Did you add your destination after your Flex Builder project was created? We hear about this problem quite often. It appears Flex Builder caches remoting-config.xml and does not fetch the file every time you build the project. As a result, if a destination is added after the project is created, it will not be recognized unless you do one of the following: - restart Flex Builder - open project properties window, select the 'Flex Compiler' section and click 'Apply' It would be very helpful to get a confirmation from Adobe for this bug. Thanks, Mark --- In [EMAIL PROTECTED]ups.com, Jeremy Rottman rottmanList@... wrote: I am working on a simple application that uses remote objects to pass data to and from my db. But I keep running into the same problem. In my services-config.xml file, I have setup the destination ROTEST. It looks like this destination id=ROTEST channels channel ref=my-cfamf/ /channels properties sourcebeta.cfc.ROtest/source !-- define the resolution rules and access level of the cfc being invoked -- access !-- Use the ColdFusion mappings to find CFCs, by default only CFC files under your webroot can be found. -- use-mappingsfalse/use-mappings !-- allow public and remote or just remote methods to be invoked -- method-access-levelremote/method-access-level /access property-case !-- cfc property names -- force-cfc-lowercasefalse/force-cfc-lowercase !-- Query column names -- force-query-lowercasefalse/force-query-lowercase !-- struct keys -- force-struct-lowercasefalse/force-struct-lowercase /property-case /properties /destination I wrote this simple flex application to test my connectivity. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute mx:Script ![CDATA[ import mx.controls.Alert; import mx.rpc.Fault; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private function qryService_userSearch(lastName){ qryService.userSearch(lastName) } private function qryService_userSearch_Result(event:ResultEvent):void{ testDG.dataProvider = event.result; } private function qryService_userSearch_Fault(event:FaultEvent):void{ errorText.text = event.fault.message; } ]] /mx:Script mx:RemoteObject id=qryService destination=ROTEST result=qryService_userSearch_Result(event) endpoint=http://beta.homesmartagent.com/flex2gateway/ showBusyCursor=true fault=qryService_userSearch_Fault(event)/ mx:Canvas x=0 y=0 width=100% height=100% mx:Label x=10 y=10 text=Name:/ mx:TextInput id=lastName x=60 y=8/ mx:Button x=228 y=8 click=qryService_userSearch(lastName.text) label=Button/ mx:DataGrid x=10 y=38 id=testDG width=779 height=326 mx:columns mx:DataGridColumn headerText=Column 1 dataField=fld_agentFullName/ mx:DataGridColumn headerText=Column 2 dataField=fld_agentId/ mx:DataGridColumn headerText=Column 3 dataField=fld_agentEmail/ /mx:columns /mx:DataGrid mx:TextArea x=10 y=372 id=errorText width=523 height=221/ /mx:Canvas /mx:Application Everytime I test the application, I get this error. faultCode:Server.Processing faultString:'No destination 'ROTEST' exists in service flex.messaging.services.RemotingService' faultDetail:'null' I know my destination exists in my services-config.xml file, but for some reason it can not find it. I have set the channel correctly in my services-config.xml file as well. channels channel-definition id=my-cfamf class=mx.messaging.channels.AMFChannel endpoint uri=http://beta.homesmartagent.com/flex2gateway/ class=flex.messaging.endpoints.AMFEndpoint/ properties polling-enabledfalse/polling-enabled serialization instantiate-typesfalse/instantiate-types /serialization /properties /channel-definition /channels Can someone shed some light on this for me. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Re: [flexcoders] Adobe, Help Memory Leaking !!
just want to say your not the only one... 2 other people have had the same sort of problem here and I have too... it's annoying to be honest. it does go down eventually but not by it self... I've left it running overnight ( one of my applications ) doesn't go down much On 24/08/06, Rich Tretola [EMAIL PROTECTED] wrote: Just try loading a large amount of buttons a few times and watch the memory go up and up. When I went back to just a few buttons, the memory actually went up a little rather than dropping back down. http://www.everythingflex.com/flex2/MemoryTest/ RichOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: The 300 megs is the application that I am working on, not the sample app. The actual project app has about 20 or so repeaters, the sample was just a single version to demonstrate that the garbage collector is not working. I have been able to get the sample app over 200 megs of ram usage by runnig 5000 buttons a few times, the app memory in the txt box shows about 185 megs See the attached screen shots. The 5000 was created 1st and then I updated the array to 5 buttons and waited and then took the 2nd screen shot. The browser never releases the memory and neither does the flash player. RichOn 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, The app takes memory up 7MB then drops back to 5Mb on a GC run. There is no way to force the GC to run. Can you also send me your browser, os, player version. Also are you on a dual-core machine? Ted From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 5:29 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Adobe, Help Memory Leaking !! I have an application that uses many repeaters where the repeater's dataproviders are constantly updated which redraws the view. All look fine visually, however the flash player continues to use more and more memory. I created a demo version of this at http://www.everythingflex.com/flex2/MemoryTest/ I have buttons which up the amount of repeater items and then lower them and also
[flexcoders] flv framerate
Is there any way to a: get an flv clips framerate? end result being I want to parse the current .playheadTime to timecode from seconds for a label control. b: lock the application framerate or set it to match the flv? end result being I need a constant framerate during playback so they can see timing issues, no matter whether doing 24p etc. tia Impudent1 LeapFrog Productions -- 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/
Re: [flexcoders] Adobe, Help Memory Leaking !!
How you found any kind of resolution? As it stand right now my application will be unusable by most of my audience which will obviously not make management happy. I haven't had this problem with other apps, but there were not nearly as object and data intense. RichOn 8/23/06, sinatosk [EMAIL PROTECTED] wrote: just want to say your not the only one... 2 other people have had the same sort of problem here and I have too... it's annoying to be honest. it does go down eventually but not by it self... I've left it running overnight ( one of my applications ) doesn't go down much On 24/08/06, Rich Tretola [EMAIL PROTECTED] wrote: Just try loading a large amount of buttons a few times and watch the memory go up and up. When I went back to just a few buttons, the memory actually went up a little rather than dropping back down. http://www.everythingflex.com/flex2/MemoryTest/ RichOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: The 300 megs is the application that I am working on, not the sample app. The actual project app has about 20 or so repeaters, the sample was just a single version to demonstrate that the garbage collector is not working. I have been able to get the sample app over 200 megs of ram usage by runnig 5000 buttons a few times, the app memory in the txt box shows about 185 megs See the attached screen shots. The 5000 was created 1st and then I updated the array to 5 buttons and waited and then took the 2nd screen shot. The browser never releases the memory and neither does the flash player. RichOn 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, The app takes memory up 7MB then drops back to 5Mb on a GC run. There is no way to force the GC to run. Can you also send me your browser, os, player version. Also are you on a dual-core machine? Ted From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 5:29 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Adobe, Help Memory Leaking !! I have an application that uses many repeaters where the
[flexcoders] Re: Flex / Coldfusion / Combobox / Retrieve selected data value
I swear I tried that at one time...but since it works I guess I didn't. Thanks to both who answered! -- 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/
Re: [flexcoders] Adobe, Help Memory Leaking !!
wait little mix up... it does go down by itself but only if the application seems to increase the memory usage fast or something like that but even then that doesn't always workOn 24/08/06, sinatosk [EMAIL PROTECTED] wrote: just want to say your not the only one... 2 other people have had the same sort of problem here and I have too... it's annoying to be honest. it does go down eventually but not by it self... I've left it running overnight ( one of my applications ) doesn't go down much On 24/08/06, Rich Tretola [EMAIL PROTECTED] wrote: Just try loading a large amount of buttons a few times and watch the memory go up and up. When I went back to just a few buttons, the memory actually went up a little rather than dropping back down. http://www.everythingflex.com/flex2/MemoryTest/ RichOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: The 300 megs is the application that I am working on, not the sample app. The actual project app has about 20 or so repeaters, the sample was just a single version to demonstrate that the garbage collector is not working. I have been able to get the sample app over 200 megs of ram usage by runnig 5000 buttons a few times, the app memory in the txt box shows about 185 megs See the attached screen shots. The 5000 was created 1st and then I updated the array to 5 buttons and waited and then took the 2nd screen shot. The browser never releases the memory and neither does the flash player. RichOn 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, The app takes memory up 7MB then drops back to 5Mb on a GC run. There is no way to force the GC to run. Can you also send me your browser, os, player version. Also are you on a dual-core machine? Ted From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 5:29 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Adobe, Help Memory Leaking !! I have an application that uses many repeaters where the repeater's dataproviders are constantly updated which redraws the view. All look fine
[flexcoders] FDS + Hibernate exception committing updates
Hi all, I have loaded a collection of managed objects, made some changes to one of them, and called the DataService.commit() to commit these changes back to the database. My DataService is connected to a HibernateAssembler destination, and this destination worked to create the initial version of the objects, however when I attempt to update them, I get this exception. I can tell there was a data sync conflict (not sure why, I'm only using one client, one session, one update to the object). However what concerns me more is that it's attempting to do something afterwards, and I get this Hibernate exception about the session being closed. Any ideas? thanks in advance, Thunder - [Flex] 17:17:47.860 [DEBUG] [DataService.General] DataSyncException processing message: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], [EMAIL PROTECTED], [EMAIL PROTECTED] ] hdr(DSEndpoint) = my-rtmp exception: flex.data.DataSyncException: Data Synchronization Conflict conflictCause: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], [EMAIL PROTECTED], [EMAIL PROTECTED] ] hdr(DSEndpoint) = my-rtmp serverObject: [EMAIL PROTECTED] propertyNames: [visualizations] at flex.data.assemblers.HibernateAssembler.updateItem(HibernateAssembler.java:713) at flex.data.adapters.JavaAdapter.doUpdateItem(JavaAdapter.java:504) at flex.data.adapters.JavaAdapter.invokeAssemblerSync(JavaAdapter.java:391) at flex.data.adapters.JavaAdapter.invokeBatchOperation(JavaAdapter.java:248) at flex.data.adapters.JavaAdapter.invoke(JavaAdapter.java:232) at flex.messaging.services.MessageService.serviceMessage(MessageService.java:138) at flex.data.DataService.sendBatchToAdapter(DataService.java:1326) at flex.data.DataService.serviceTransactedMessage(DataService.java:505) at flex.data.DataService.serviceMessage(DataService.java:241) at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:548) at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302) at flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682) at flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668) at java.lang.Thread.run(Thread.java:595) [Flex] 17:17:47.891 [DEBUG] [DataService.Transaction] Rolledback transaction Aug 23, 2006 5:17:47 PM org.hibernate.LazyInitializationException init SEVERE: failed to lazily initialize a collection of role: com.mycompany.config.presentation.Dashboard.dashboardcriterias, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.mycompany.config.presentation.Dashboard.dashboardcriterias, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:97) at org.hibernate.collection.PersistentSet.size(PersistentSet.java:114) at java.util.ArrayList.init(ArrayList.java:133) at flex.messaging.io.ArrayCollection.init(ArrayCollection.java:44) at flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:407) at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:147) at flex.messaging.io.amf.Amf3Output.writeObjectProperty(Amf3Output.java:215) at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:495) at flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:467) at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:165) at
RE: [flexcoders] Similar Node Access Question
Hey, answered my own quetion... figured I'd post it here in case it helped anyone else... So... you're using an mx:WebService to call a ColdFusion CFC. The ColdFusion query object returned in lastResult is an array inside an array, but, it's more than that too (the debugger is your friend) so... the easiest way to grab a specific value from specific row in a query is to refer to the query row by array notation and the column by name... so... to grab the FULLNAME column from row 1 of your query object's result set you'd use... var mystr : String = MyWebService.myOperation.lastResult[0].FULLNAME; and if you wanted to bind to that purely in mxml you could also use... mx:ArrayCollection id=ac source=MyWebService.myOperation.lastResult / mx:TextArea text={ac.getItemAt(0).FULLNAME} / Darren From: Darren Houle [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: [flexcoders] Similar Node Access Question Date: Wed, 23 Aug 2006 13:54:19 -0400 Don't know if this is the same problem as my recent, previous post, or if it's different, but I basically have the same question... Now I'm calling a CF WebService that returns a Query object... it just contains one row, one column, called FULLNAME. Using the WebService lastResult in a DataGrid's dataprovider works fine, there's a million examples of that, but trying to pull out that FULLNAME cell's string value is proving to be a challenge for me... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; creationComplete=IACleanService.authenticateUser.send() mx:WebService id=IACleanService wsdl=http://localhost/ia_cleanup.cfc?wsdl; mx:operation name=authenticateUser mx:request xmlns= usernamejsmith/username passwordasdf1234/password /mx:request /mx:operation /mx:WebService mx:DataGrid height=400 width=400 dataProvider={IACleanService.authenticateUser.lastResult} / mx:TextArea width=400 height=400 text={IACleanService.authenticateUser.lastResult.fullname} / /mx:Application The DataGrid above displays the FULLNAME field just fine, but the TextArea displays nothing. Doesn't help to uppercase it to lastResult.FULLNAME either. I'm probably missing something really simple, but... just about all the examples in the Flex documentation either show how to pull out a single node value from an HTTPService... or show how to use a WebService in a DataGrid... but I can't find any examples where single values are pulled out of a WebService result. Something where the result node values are split up and used in different places, like one node value is used as a role variable, another is used to set a model state variable, another is used as a button label, etc. I need an example of calling a WebService and breaking the result into pieces for use in multiple places, not just sticking the whole lastResult into the dreaded DataGrid. Any help would be appreciated :-) Thanks! Darren -- 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/
RE: [flexcoders] Re: xml data http services
Yes, use a server-side proxy to return the data in response to a HTTPService post request. Though to be honest, I am not absolutely certain that this data is not cached somehow. Tracy From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of dooms Sent: Wednesday, August 23, 2006 2:54 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: xml data http services hi tracy your xml about it the xml data file is downloaded in cache. which i dont want coz it can expose the confidential data. is there any other way to use xml data file or http services __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml
Darren, You are using a tree according to the example in your post. Or have you changed your question? At any rate, binding is very difficult to debug. I advise using a handler function in which you can use toXMLString() on the event.result object. Then work your way down through the hierarchy a step at a time. When you get the _expression_ that works you can put it in the binding _expression_. Tracy From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Darren Houle Sent: Wednesday, August 23, 2006 1:30 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Peter, Thanks! But I'm not using the results in a Tree or Grid, which seem to have some magical parsing happening inside for you. I just want to do something as simple as pulling a node value out of the incoming SOAP wrapped XML and using it in, say, a TextArea. But... the following doesn't work... mx:TextArea text={MyService.myOperation.lastResult.people.person.firstname} / nor does MyService.myOperation.lastResult.people.person[0].firstname MyService.myOperation.lastResult.person.firstname MyService.myOperation.lastResult.person[0].firstname or any other pattern I've tried. Amy suggested referencing the path all the way from the root node of the SOAP packet itself and treating the entire SOAP message as a bix XML result, instead of just the node path of the result. Something like... MyService.myOperation.lastResult.myOperationResult.people.person.firstname but I couldn't get that to work either. Darren From: Peter Watson [EMAIL PROTECTED]com Reply-To: [EMAIL PROTECTED]ups.com To: [EMAIL PROTECTED]ups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Date: Wed, 23 Aug 2006 07:29:48 -0700 Darren, If your XML nodes have attributes (ie. node label=foo/node) - you can use the 'labelField' attribute to control the labels. mx:Tree id=myTree labelField=@label/ If they don't (ie. foobar/foo) - or if you want to do any sort of custom label logic, you need to use the 'labelFunction' attribute to set the values appropriately. mx:Tree id=myTree2 labelFunction=myLabelFunc/ public function myLabelFunc (item:XML):String{ //if node has children if(item.children().toString() != ''){ return item.name(); } //no children, it's a leaf so get the value else{ return item.toXMLString(); } } regards, peter From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Darren Houle Sent: Monday, August 21, 2006 4:33 PM To: [EMAIL PROTECTED]ups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Bump?? Darren From: Darren Houle [EMAIL PROTECTED]com mailto:lokka_%40hotmail.com Reply-To: [EMAIL PROTECTED]ups.com mailto:flexcoders%40yahoogroups.com To: [EMAIL PROTECTED]ups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Date: Fri, 18 Aug 2006 23:08:44 -0400 I have a ColdFusion Component (web service) that looks like... cffunction name=getEmployees access=remote output=false returntype=xml cfxml variable=myxml people person firstnameJohn/firstname lastnameSmith/lastname job titleDoctor/title descriptionblah blah blah/description /job /person person firstnameJane/firstname lastnameDoe/lastname job titleLawyer/title descriptionblah blah blah/description /job /person /people /cfxml cfreturn myxml /cffunction and some Flex code that looks like... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml creationComplete=TestService.getEmployees.send(); mx:WebService id=TestService wsdl=http://localhost/hr.cfc?wsdl http://localhost/hr.cfc?wsdl mx:operation name=getEmployees / /mx:WebService mx:Tree id=myTree width=50% height=50% showRoot=false dataProvider={TestService.getEmployees.lastResult}/ /mx:Application But what I get is a Tree that looks like: Flex doesn't seem to be able to extract the XML from the SOAP message, which is just SOAP XML wrapping my XML data. Changing the Operation's resultFormat from e4x to xml to object changes the amount of junk in the Tree, but doesn't fix the problem. As a matter of fact, it works best when I leave off this attribute and let the Operation decide what resultFormat to use. Casting lastResult as XML or XMLList doesn't seem to help either, and neither does ArrayUtil.toArray(TestService.getEmployee.lastResult) Is there something I need to do to the lastResult to get it to work in Trees, DataGrids, etc? Like cast it as some other data type? Why doesn't e4x parse the SOAP message properly and extract my XML? Just about every example I can find out there shows people using
RE: [flexcoders] Project References vs. ActionScript Build Path
Thanks Martin; this is good information. It sounds like the JDT has a good solution, although I wouldn't mind seeing behavior similar to Visual Studio where referenced projects are built and then added to the bin directory of the referencing project. I recently read a thread here talking about how to handle multiple swf/swc projects and I hope to see further discussion on these topics in the future. Thanks again for your insight, -DT -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Martin Wood Sent: Tuesday, August 22, 2006 13:14 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Project References vs. ActionScript Build Path This was something i've been wondering about so I double checked the behaviour of the JDT and search the help and it says this : 'The referenced project list is used to determine the build order. A project is always built after all its referenced projects are built.' BUT, adding a project to the referenced project list doesnt automatically add it to the build path. For a Java project there is a tab on the 'Java Build Path' for 'Referenced Projects' which does add them to the build path.. What I do miss from the JDT is exactly that, a referenced projects tab on the Flex Build Path (also adding multiple source folders for a single project would be nice..) The current 'browse the whole filesystem' feels a bit clumsy in comparison... but the JDT has had a long time to get to where it is..hopefully flex builder will soon incorporate those good features. martin. Daniel Thompson wrote: Question about Flex Builder: How does adding another project as a reference (in Project References) differ from adding the source path of that other project (in the ActionScript Build Path)? I know that adding it as a reference will not allow one to compile if you reference a class in that other project, so I'm just curious what the intentions were behind these features. Thanks, -DT -- Martin Wood http://relivethefuture.com/choronzon -- 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/
RE: [flexcoders] Similar Node Access Question
What is the actual structure of IACleanService.authenticateUser.lastResult? Trace it out with toXMLString(). Tracy From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Darren Houle Sent: Wednesday, August 23, 2006 1:54 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Similar Node Access Question Don't know if this is the same problem as my recent, previous post, or if it's different, but I basically have the same question... Now I'm calling a CF WebService that returns a Query object... it just contains one row, one column, called FULLNAME. Using the WebService lastResult in a DataGrid's dataprovider works fine, there's a million examples of that, but trying to pull out that FULLNAME cell's string value is proving to be a challenge for me... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml creationComplete=IACleanService.authenticateUser.send() mx:WebService id=IACleanService wsdl=http://localhost/ia_cleanup.cfc?wsdl mx:operation name=authenticateUser mx:request xmlns= usernamejsmith/username passwordasdf1234/password /mx:request /mx:operation /mx:WebService mx:DataGrid height=400 width=400 dataProvider={IACleanService.authenticateUser.lastResult} / mx:TextArea width=400 height=400 text={IACleanService.authenticateUser.lastResult.fullname} / /mx:Application The DataGrid above displays the FULLNAME field just fine, but the TextArea displays nothing. Doesn't help to uppercase it to lastResult.FULLNAME either. I'm probably missing something really simple, but... just about all the examples in the Flex documentation either show how to pull out a single node value from an HTTPService... or show how to use a WebService in a DataGrid... but I can't find any examples where single values are pulled out of a WebService result. Something where the result node values are split up and used in different places, like one node value is used as a role variable, another is used to set a model state variable, another is used as a button label, etc. I need an example of calling a WebService and breaking the result into pieces for use in multiple places, not just sticking the whole lastResult into the dreaded DataGrid. Any help would be appreciated :-) Thanks! Darren __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] Re: Cairngorm 2 - Web Service event handlers
I've been using this method ever since I started with Cairngorm. http://www.darronschall.com/weblog/archives/000234.cfm It makes a lot of sense and just feels more natural to me to have the commands handle the results and faults since they are the ones requesting the calls anyway. HTH, Ben http://www.returnundefined.com/ --- In flexcoders@yahoogroups.com, jakana1566 [EMAIL PROTECTED] wrote: I have a cairngorm 2 app that uses multiple delegates to call different methods of a single web service. The problem is, each delegate adds it's own onResult and onFault events, so that when the web service operation is called, *ALL* of the onResult functions are called instead of just the one associated with the calling delegate. For example, one delegate has the following code: this.service = ServiceLocator.getInstance().getService (sym_security_standard) as WebService; service.addEventListener(ResultEvent.RESULT, sym_security_sp_login_search_onResult); service.addEventListener(FaultEvent.FAULT, sym_security_sp_login_search_onFault); Another delegate has the following (similar) code: this.service = ServiceLocator.getInstance().getService (sym_security_standard) as WebService; service.addEventListener(ResultEvent.RESULT, sym_security_sp_group_search_onResult); service.addEventListener(FaultEvent.FAULT, sym_security_sp_group_search_onFault); Since there's only one instance of the ServiceLocator, each delegate is registering onResult / onFault events to the *same* object instance, and therefore the onResult event triggers the onResult function of multiple delegates instead of the single/target delegate. Any ideas on how to avoid this? Thanks in advance! -- 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/
RE: [flexcoders] FDS + Hibernate exception committing updates
Are you using either the version or timestamp features of hibernate? This causes improper conflicts to be detected in the GMC version (though we have fixed this already in house). To workaround that problem, you can turn off conflict detection: update-conflict-modeNONE/update-conflict-mode in your destinations server tag. If that is not a suitable workaround, let me know. We distribute the HibernateAssembler source so I could send you a version with the fix in it. I may also see the problem with the lazy initialization exception there is code in the hibernate assembler which goes through and does a deep fetch of all properties which are not lazy=true associations in FDSs configuration. Hibernate by default has all of its properties marked with its own setting of lazy=true which means that those properties are not fetched when the parent object is fetched. Since we need to serialize the state of all non-lazy properties and do not want to keep the hibernate session open for this process, we do this deep fetch ahead of time to be sure the state will be available for sending to the client. Unfortunately, when we are throwing a DataSyncException for the conflict we are not doing the fetch of the object properties for the serverVersion of the object which also gets sent back to the client. If my theory is correct, this error will go away when the conflict goes away but of course it still needs to be fixed. I just made this fix locally so I could send that along as well. Jeff From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Thunder Stumpges Sent: Wednesday, August 23, 2006 6:05 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] FDS + Hibernate exception committing updates Hi all, I have loaded a collection of managed objects, made some changes to one of them, and called the DataService.commit() to commit these changes back to the database. My DataService is connected to a HibernateAssembler destination, and this destination worked to create the initial version of the objects, however when I attempt to update them, I get this exception. I can tell there was a data sync conflict (not sure why, I'm only using one client, one session, one update to the object). However what concerns me more is that it's attempting to do something afterwards, and I get this Hibernate exception about the session being closed. Any ideas? thanks in advance, Thunder - [Flex] 17:17:47.860 [DEBUG] [DataService.General] DataSyncException processing message: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], com.mycompany.config.presentation.Dashboard@1667df0, com.mycompany.config.presentation.Dashboard@1d626a4 ] hdr(DSEndpoint) = my-rtmp exception: flex.data.DataSyncException: Data Synchronization Conflict conflictCause: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], com.mycompany.config.presentation.Dashboard@1667df0, com.mycompany.config.presentation.Dashboard@1d626a4 ] hdr(DSEndpoint) = my-rtmp serverObject: com.mycompany.config.presentation.Dashboard@ac622a propertyNames: [visualizations] at flex.data.assemblers.HibernateAssembler.updateItem(HibernateAssembler.java:713) at flex.data.adapters.JavaAdapter.doUpdateItem(JavaAdapter.java:504) at flex.data.adapters.JavaAdapter.invokeAssemblerSync(JavaAdapter.java:391) at flex.data.adapters.JavaAdapter.invokeBatchOperation(JavaAdapter.java:248) at flex.data.adapters.JavaAdapter.invoke(JavaAdapter.java:232) at flex.messaging.services.MessageService.serviceMessage(MessageService.java:138) at flex.data.DataService.sendBatchToAdapter(DataService.java:1326) at flex.data.DataService.serviceTransactedMessage(DataService.java:505) at flex.data.DataService.serviceMessage(DataService.java:241) at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:548) at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:302) at flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java:682) at flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668) at
[flexcoders] Need help identifying which Event to listen for
Hello All, I have a ViewStack Container, with many Children within. Each child has it's own unique set of data-driven controls, and each time the user goes back to a specific Child, I need to Requery the database, so that I get the freshest data each time. The easiest way to do this, is listen for the Event for when a Child gets toggled. I tried activate but this event kicks off only the FIRST time a Container gets shown. I need this even to kick off each and every time, the ViewStack's Children get toggled. Could any of you point out which event I need to trigger, in order to for this to happen? Thanks in advance, Mike -- 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/
Re: [flexcoders] Need help identifying which Event to listen for
When selection changes, you can access current selected child via ViewStack.selectedChild, which points to the currently selected child container, you can then trigger a method inside the child to re-grab the data. see if this works for you :-) On 8/24/06, Mike Anderson [EMAIL PROTECTED] wrote: Hello All, I have a ViewStack Container, with many Children within. Each child has it's own unique set of data-driven controls, and each time the user goes back to a specific Child, I need to Requery the database, so that I get the freshest data each time. The easiest way to do this, is listen for the Event for when a Child gets toggled. I tried activate but this event kicks off only the FIRST time a Container gets shown. I need this even to kick off each and every time, the ViewStack's Children get toggled. Could any of you point out which event I need to trigger, in order to for this to happen? Thanks in advance, Mike __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] Re: FDS + Hibernate exception committing updates
Hi Jeff, I am not using the version or timestamp features of hibernate, however I am using the cascade=all feature to manage sets of child objects off of the main managed object. In fact, it is this collection of child objects that has changed (removed one, added one, etc.) Should the transitive persistence work correctly using cascade=all ? Could this be part of the cause of the conflict? Also, setting update-conflict-modeNONE/update-conflict-mode has fixed the conflict issue, and with it the closed session exception. If you were to send me those fixes, how difficult would it be for me to encorporate them into my version of FDS? Do I need to build the entire project? I have not done so before, but if needed, and I should have all the source necessary, I'm comfortable attempting it. thanks, Thunder --- In flexcoders@yahoogroups.com, Jeff Vroom [EMAIL PROTECTED] wrote: Are you using either the version or timestamp features of hibernate? This causes improper conflicts to be detected in the GMC version (though we have fixed this already in house). To workaround that problem, you can turn off conflict detection: update-conflict-modeNONE/update-conflict-mode in your destination's server tag. If that is not a suitable workaround, let me know. We distribute the HibernateAssembler source so I could send you a version with the fix in it. I may also see the problem with the lazy initialization exception... there is code in the hibernate assembler which goes through and does a deep fetch of all properties which are not lazy=true associations in FDS's configuration. Hibernate by default has all of its properties marked with its own setting of lazy=true which means that those properties are not fetched when the parent object is fetched. Since we need to serialize the state of all non-lazy properties and do not want to keep the hibernate session open for this process, we do this deep fetch ahead of time to be sure the state will be available for sending to the client. Unfortunately, when we are throwing a DataSyncException for the conflict we are not doing the fetch of the object properties for the serverVersion of the object which also gets sent back to the client. If my theory is correct, this error will go away when the conflict goes away but of course it still needs to be fixed. I just made this fix locally so I could send that along as well. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Thunder Stumpges Sent: Wednesday, August 23, 2006 6:05 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] FDS + Hibernate exception committing updates Hi all, I have loaded a collection of managed objects, made some changes to one of them, and called the DataService.commit() to commit these changes back to the database. My DataService is connected to a HibernateAssembler destination, and this destination worked to create the initial version of the objects, however when I attempt to update them, I get this exception. I can tell there was a data sync conflict (not sure why, I'm only using one client, one session, one update to the object). However what concerns me more is that it's attempting to do something afterwards, and I get this Hibernate exception about the session being closed. Any ideas? thanks in advance, Thunder - [Flex] 17:17:47.860 [DEBUG] [DataService.General] DataSyncException processing message: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], [EMAIL PROTECTED], [EMAIL PROTECTED] ] hdr(DSEndpoint) = my-rtmp exception: flex.data.DataSyncException: Data Synchronization Conflict conflictCause: Flex Message (flex.data.messages.DataMessage) operation = update id = ASObject(8582034){id=1156377452946003871262} clientId = BBE8D031-993E-E344-F36B-3D89CE3F5AE7 correlationId = B51D63E2-AC1F-9B5F-4554-3D8A2A895B15 destination = Dashboard messageId = 215422DE-07CE-6AB4-21AF-3D8A07CE87DF timestamp = 1156378667672 timeToLive = 0 body = [ [ visualizations ], [EMAIL PROTECTED], [EMAIL PROTECTED] ] hdr(DSEndpoint) = my-rtmp serverObject: [EMAIL PROTECTED] propertyNames: [visualizations] at flex.data.assemblers.HibernateAssembler.updateItem(HibernateAssembler.ja va:713) at flex.data.adapters.JavaAdapter.doUpdateItem(JavaAdapter.java:504) at flex.data.adapters.JavaAdapter.invokeAssemblerSync(JavaAdapter.java:391) at flex.data.adapters.JavaAdapter.invokeBatchOperation(JavaAdapter.java:248 ) at flex.data.adapters.JavaAdapter.invoke(JavaAdapter.java:232) at
RE: [flexcoders] Re: Choice of backend systems - which provides best functionality
True, but then you're relying on server side sessions... that's stateless, but not independant of the back-end technology. Darren From: Dave Wolf [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Choice of backend systems - which provides best functionality Date: Wed, 23 Aug 2006 21:53:39 - Darren, Flex inherits the HTTP session that the page which contained the EMBED tag acquired. Dont forget that HTTP/HTML is entirely stateless and yet we can easily secure those. The theory is identical with Flex. -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL PROTECTED] Office: 866-CYNERGY --- In flexcoders@yahoogroups.com, Darren Houle [EMAIL PROTECTED] wrote: Franck, I agree with you, but... how do you handle security in a stateless back-end? I mean... how do you maintain logged-in / user session information? Or unauthorized access of the web services by others? If Flex is *completely* agnostic of the back-end technology then how do you securely link them together? Darren From: Franck de Bruijn [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: Choice of backend systems - which provides best functionality Date: Tue, 22 Aug 2006 18:03:24 +0200 Hi Barry, I'm not sure if I can be of much help here. I'm not into PHP, I'm not into FDS and remoting and the AMF protocol that is related to it. For me, but that is totally a personal opinion, the only acceptable solution for communication with a back-end is webservices, and nothing else. Briefly here are my reasons: * The coolest thing about Flex is not the graphics ... but that you can make your server stateless, meaning that you obtain 100% fail-over characteristics including linear scalability. With FDS (or any other related solution) you highly likely lose this `feature' and my guess is that scalability will be tougher to achieve; for sure it is harder to guarantee ... with a stateless server solution you can. And we always want to grow with our applications, don't we??? * I like to keep my Flex layer totally independent of my back-end layer. My back-end layer should not be aware by any means of the client technology. With webservices you realize this. With FDS (or any other related solution) you get a vendor lock-in, which I consider undesirable. * The trend in my business is that more and more you get projects only for a front-end or back-end solution. In the past it occurred more that you had to build them together, but that is changing. It's very acceptable to request a back-end to expose its operations through webservices. It's not very accetable to request them to expose it via FDS or something like that. To be fair, there are some disadvantages using web services as well; among others: * No automatic conversion of the web service results into your custom action script classes. You have to make converters yourself to accomplish this. With FDS/AMF I understand you can have this conversion automatically done for you. * Performance. People tend to say that webservices are slow. It's true that the serialization/deserialization of the XML (both on client and server) side takes computing time. My experiences so far are that this extra computing time is not causing any serious damage in the user experience. * Flex has some trouble communicating with DOC/Literal encoded webservices. Especially in the .Net corner this is causing problems. But that should be temporarily ... The adobe guys are working on it and hopefully in a next release these issues will be fixed. For me the advantages of webservices by far outweigh the disadvantages. So if you ask me: use webservices! You keep your freedom ... Cheers, Franck _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of barry.beattie Sent: Tuesday, August 22, 2006 9:50 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Choice of backend systems - which provides best functionality Franck and Doug: may I be so bold as to include here some information I sent to our programming team for them to have some context? I offer it here as a talking point only - and would invite any comments or corrections to help me gain a better understanding myself ... this has just been gathered by my own ad-hoc investigations. the context of the email was a report that Adobe were seriously targeting PHP developers for Flex. regarding Flash remoting: some background to put it into context: there are three basic ways of getting communication happening between a SWF (now-a-days built with Flex) and
RE: [flexcoders] Variable Type for Web Service Result
Ethan, I don't think it's your typing, I think it's your timing. Looks like you're flipping your postTyper() when the combobox is changed, but that's not firing a new send() like the original blogger example did. Try changing your code so that changing the combobox triggers the send() and the send result= handler triggers the postTyper(). That way you'll have the correct data in lastResult when you change your blogResult variable. That change should then be noticed by the bindings. Darren From: Ethan Miller [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: [flexcoders] Variable Type for Web Service Result Date: Wed, 23 Aug 2006 16:13:19 -0700 Greetings - Expanding on the Connecting to Web Services tutorial, I added a combo box for switching between methods of the API to the Adobe blog aggregator, ie from getMostPopularPosts to search. As both methods return the same columns, the data grid displaying the result can stay the same, other than needing a different value for data provider, ie: myWebService.getMostPopularPosts.lastResult vs myWebService.search.lastResult I was hoping therefore to bind the dataGrid dataProvider value to a variable which I'd set when users change the value of the comboBox (which selects which method to use). However I think I'm typing the variable which stores the value of the service result wrong, as I get null whenever I try and set the value (blogResult), show below: ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute mx:Script ![CDATA[ [Bindable] public var blogResult:Object = null; public function postTyper(event:Event):void{ if (event.currentTarget.selectedItem.data == popular){ postTypeVS.selectedIndex=1; blogResult = blogAggrWS.getMostPopularPosts.lastResult; trace (blogResult); } else{ postTypeVS.selectedIndex=0; blogResult = blogAggrWS.search.lastResult; trace (blogResult); } } ]] /mx:Script mx:WebService id=blogAggrWS wsdl=http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc? wsdl useProxy=false mx:operation name=getMostPopularPosts mx:request daysBack{daysBackCB.value}/daysBack limit{numPostsCB.value}/limit /mx:request /mx:operation mx:operation name=search mx:request offset0/offset limit50/limit searchTerms{postKeywords.text}/searchTerms sortByrelevance/sortBy languageIds1/languageIds /mx:request /mx:operation mx:operation name=getLanguages mx:request/ /mx:operation /mx:WebService mx:Panel width=850 height=400 layout=absolute horizontalCenter=0 verticalCenter=0 title=Adobe Blogs Post Finder mx:HBox horizontalCenter=0 top=20 verticalAlign=middle mx:Label text=Get:/ mx:ComboBox id=whatPostsCB change=postTyper(event) mx:Object label=Posts By Keyword data=search / mx:Object label=Most Popular Posts data=popular / /mx:ComboBox mx:ViewStack id=postTypeVS width=400 mx:HBox verticalAlign=middle mx:TextInput id=postKeywords text=/ mx:Button label=Search click=blogAggrWS.search.send()/ /mx:HBox mx:HBox verticalAlign=middle width=372 creationComplete=blogAggrWS.getMostPopularPosts.send() mx:Spacer width=10/ mx:Label text=Show:/ mx:ComboBox id=numPostsCB change=blogAggrWS.getMostPopularPosts.send() mx:Object label=Top 5 Posts data=5 / mx:Object label=Top 10 Posts data=10 / mx:Object label=Top 15 Posts data=15 / /mx:ComboBox
RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml
Yes Tracy... I was working on two similar issues at the same time and one used Tree while the other didn't. The Tree question was answered a while back (using labelField) so I got confused... sorry :-) and thanks! Darren From: Tracy Spratt [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Date: Wed, 23 Aug 2006 21:06:57 -0400 Darren, You are using a tree according to the example in your post. Or have you changed your question? At any rate, binding is very difficult to debug. I advise using a handler function in which you can use toXMLString() on the event.result object. Then work your way down through the hierarchy a step at a time. When you get the expression that works you can put it in the binding expression. Tracy From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Darren Houle Sent: Wednesday, August 23, 2006 1:30 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Peter, Thanks! But I'm not using the results in a Tree or Grid, which seem to have some magical parsing happening inside for you. I just want to do something as simple as pulling a node value out of the incoming SOAP wrapped XML and using it in, say, a TextArea. But... the following doesn't work... mx:TextArea text={MyService.myOperation.lastResult.people.person.firstname} / nor does MyService.myOperation.lastResult.people.person[0].firstname MyService.myOperation.lastResult.person.firstname MyService.myOperation.lastResult.person[0].firstname or any other pattern I've tried. Amy suggested referencing the path all the way from the root node of the SOAP packet itself and treating the entire SOAP message as a bix XML result, instead of just the node path of the result. Something like... MyService.myOperation.lastResult.myOperationResult.people.person.firstname but I couldn't get that to work either. Darren From: Peter Watson [EMAIL PROTECTED] mailto:pwatson%40adobe.com Reply-To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Date: Wed, 23 Aug 2006 07:29:48 -0700 Darren, If your XML nodes have attributes (ie. node label=foo/node) - you can use the 'labelField' attribute to control the labels. mx:Tree id=myTree labelField=@label/ If they don't (ie. foobar/foo) - or if you want to do any sort of custom label logic, you need to use the 'labelFunction' attribute to set the values appropriately. mx:Tree id=myTree2 labelFunction=myLabelFunc/ public function myLabelFunc (item:XML):String{ //if node has children if(item.children().toString() != ''){ return item.name(); } //no children, it's a leaf so get the value else{ return item.toXMLString(); } } regards, peter From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Darren Houle Sent: Monday, August 21, 2006 4:33 PM To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: RE: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Bump?? Darren From: Darren Houle [EMAIL PROTECTED] mailto:lokka_%40hotmail.com mailto:lokka_%40hotmail.com Reply-To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml Date: Fri, 18 Aug 2006 23:08:44 -0400 I have a ColdFusion Component (web service) that looks like... cffunction name=getEmployees access=remote output=false returntype=xml cfxml variable=myxml people person firstnameJohn/firstname lastnameSmith/lastname job titleDoctor/title descriptionblah blah blah/description /job /person person firstnameJane/firstname lastnameDoe/lastname job titleLawyer/title descriptionblah blah blah/description /job /person /people /cfxml cfreturn myxml /cffunction and some Flex code that looks like... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml creationComplete=TestService.getEmployees.send(); mx:WebService id=TestService wsdl=http://localhost/hr.cfc?wsdl http://localhost/hr.cfc?wsdl http://localhost/hr.cfc?wsdl http://localhost/hr.cfc?wsdl mx:operation
Re: [flexcoders] How to cast a WebService lastResult when CFC returnType=xml
what about dataProvider={TestService.getEmployees.lastResult.person} ?DKOn 8/18/06, Darren Houle [EMAIL PROTECTED] wrote:I have a ColdFusion Component (web service) that looks like... cffunction name=getEmployees access=remote output=falsereturntype=xmlcfxml variable=myxmlpeopleperson firstnameJohn/firstnamelastnameSmith/lastnamejobtitleDoctor/titledescriptionblah blah blah/description /job/personpersonfirstnameJane/firstnamelastnameDoe/lastnamejob titleLawyer/titledescriptionblah blah blah/description/job/person/people /cfxmlcfreturn myxml/cffunctionand some Flex code that looks like...?xml version=1.0 encoding=utf-8?mx:Applicationxmlns:mx= http://www.adobe.com/2006/mxmlcreationComplete=TestService.getEmployees.send();mx:WebService id=TestService wsdl= http://localhost/hr.cfc?wsdlmx:operation name=getEmployees //mx:WebServicemx:Treeid=myTreewidth=50% height=50%showRoot=falsedataProvider={TestService.getEmployees.lastResult}//mx:ApplicationBut what I get is a Tree that looks like: Flex doesn't seem to be able to extract the XML from the SOAP message, whichis just SOAP XML wrapping my XML data.Changing the Operation's resultFormat from e4x to xml to object changes the amount of junk in the Tree, but doesn't fix the problem.As amatter of fact, it works best when I leave off this attribute and let theOperation decide what resultFormat to use.Casting lastResult as XML or XMLList doesn't seem to help either, and neither doesArrayUtil.toArray(TestService.getEmployee.lastResult)Is there something I need to do to the lastResult to get it to work inTrees, DataGrids, etc?Like cast it as some other data type?Why doesn't e4x parse the SOAP message properly and extract my XML?Just about every example I can find out there shows people using HTTPServiceto pull back just the XML data without the SOAP webservice stuff, or else shows how to create XML inside the mxml code itself using mx:XML but I canfind nothing that shows how to return XML from a CFC web service anduse/parse it in Flex properly (as easy as, say, a CFC that returns a Query object.)Darren--Flexcoders Mailing ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! 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/ -- Douglas Knudsenhttp://www.cubicleman.comthis is my signature, like it? __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[flexcoders] AS HTTPService ignoring method propety
Hey all, I am using the ActionScript HTTPService and I found an issue with it. I feel its a bug, but I may have been misusing the functionality and I got away with it until I pushed too far. Here is the problem/issue: I have a JSP app that I am calling via HTTP that returns XML data. One of the services requires that the data comes in via POST and not GET. No biggie, just set the method propert... or so I thought. When I called the app it kept coming back with and after looking at the HTTP headers we realized it was always coming in as a GET even though I explicitly set it to POST. This is where things started to get odd... some of my service calls (all routed through the same service code) came out as POSTs and some as GETs. I was able to track down the cause and it was all based around the format of the object that I was passing to the request property. For example, if I did it this way my call became a POST (as desired) myService.request = {zip: 94103}; If I created a custom VO class that had public properties that matched the required parameters it converts to GET on the call(protocode): class MyZipVO { public var zip:String = 94103; } var temp:MyZipVO = new MyZipVO(); myService.request = temp; I didn't catch this at first because my previous services worked as either GET or POST but once I tried to access the one that required POST it all blew up. Anyway, I figured it out and I can work around it, but any idea on why this fails or if this should work in the first place? James -- 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/
[flexcoders] Re: Adobe, Help Memory Leaking !!
Yes I have had the same problem with all the applications that I have created. Not sure if bad coding on my part or bug in the plugin. Hope this problem gets fixed soon! -- 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/
[flexcoders] Tree Datagrid highlight color bug?
Hi All, I developed an application that's essentially a property sheet with a tree and dataGrid in it and it works just fine. Specifically, when I roll over a tree item or row in the dataGrid , color of the background automatically changes to the nice default "highlight" blue. Later I decide I want to have this property sheet application pop up by clicking on a button in a launcher app, so I build the launcher appand change the property sheet application so it can be launched (replace Application with titleWindow, etc... very easy). Now when I launch the property sheet, the background color of the selected and rolled over tree items and dataGrid rows are black, and the text color is super dark gray!!! What gives? Is this a known bug and is there a work around? By the way, I'm not using any Style sheet or Style declarations. It's all very vanilla code, and everything else about the popped up property sheet works as before. It's just the highlight color that's wonky. Cheers,Jeff __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] Adobe, Help Memory Leaking !!
Have you tried setting the recycleChildren attribute of the Repeater to false? I believe when you have recycleChildren set to true, even if you reduce the number of items in the dataProvider, it still keeps an object in memory that it will reuse. I've actually encountered other issues with having recycleChildren set to true when the repeaters are nested within repeaters. There doesn't seem to be any noticeable performance hit by switching it to false. --JoshOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: How you found any kind of resolution? As it stand right now my application will be unusable by most of my audience which will obviously not make management happy. I haven't had this problem with other apps, but there were not nearly as object and data intense. RichOn 8/23/06, sinatosk [EMAIL PROTECTED] wrote: just want to say your not the only one... 2 other people have had the same sort of problem here and I have too... it's annoying to be honest. it does go down eventually but not by it self... I've left it running overnight ( one of my applications ) doesn't go down much On 24/08/06, Rich Tretola [EMAIL PROTECTED] wrote: Just try loading a large amount of buttons a few times and watch the memory go up and up. When I went back to just a few buttons, the memory actually went up a little rather than dropping back down. http://www.everythingflex.com/flex2/MemoryTest/ RichOn 8/23/06, Rich Tretola [EMAIL PROTECTED] wrote: The 300 megs is the application that I am working on, not the sample app. The actual project app has about 20 or so repeaters, the sample was just a single version to demonstrate that the garbage collector is not working. I have been able to get the sample app over 200 megs of ram usage by runnig 5000 buttons a few times, the app memory in the txt box shows about 185 megs See the attached screen shots. The 5000 was created 1st and then I updated the array to 5 buttons and waited and then took the 2nd screen shot. The browser never releases the memory and neither does the flash player. RichOn 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, No. I have yet to run this app and see 300MB of RAM consumed ever. Mine gets a ceiling of like 12MB and never goes higher. When the GC runs it destroys objects within the totalMemory within the player. When the player needs more memory for new objects, it adds memory if the gc cannot dispose of what is needed. It is true to say that on machines with ample resources, the player may accumulate more resources but this is true with all applications. I have to say I think you may be looking at a bug specific to your os/system configuration. Is the behavior browser specific? Just to be sure: 300 megabytes = 314,572,800 bytes Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 2:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I first noticed this issue while looking at the task manager and seeing firefox and IE memory usage going up and up to well over 300 megs of ram. If I am running the app on a machine with less ram will the browser use less memory? Is that what you are saying? Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote: Rich, Ok got some information for you: flash.system.System.totalMemory - The amount of memory (in bytes) currently in use by Adobe Flash Player. A better way to think about this is allocated memory. When the player needs more memory it acquires it from the OS/Browser in use. The player doesn't necessarily give the memory back. Within that memory in use are the objects being used. When GC runs, it disposes objects within the allocated memory but doesn't give memory back to the OS/Browser. The GC is running and collecting objects, but f lash.system.System.totalMemory is not the right way to see this happening. Ted Patrick Flex Evangelist Adobe Systems Incorporated From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Rich Tretola Sent: Wednesday, August 23, 2006 12:11 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Adobe, Help Memory Leaking !! I am testing locally on a pentium m 1.6 2 gigs ram FP 9.16 I have tried firefox, and ie on winxp On my sample, if you change the number to like 500 and create 500 buttons and then change it back to 3 buttons, why can I not recover the memory from the 497 buttons that are no longer being used? This is a huge probolem on my app because it has like 30 Repeaters that are constantly changing dataProviders on user decisions and the memory is out of control, eventually crashing the browser (remember I have 2 gigs of ram). Rich On 8/23/06, Ted Patrick [EMAIL PROTECTED] wrote:
[flexcoders] Re: Choice of backend systems - which provides best functionality
Is there a HTTP based back end that does not support server-side sessions? -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL PROTECTED] Office: 866-CYNERGY --- In flexcoders@yahoogroups.com, Darren Houle [EMAIL PROTECTED] wrote: True, but then you're relying on server side sessions... that's stateless, but not independant of the back-end technology. Darren From: Dave Wolf [EMAIL PROTECTED] Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Choice of backend systems - which provides best functionality Date: Wed, 23 Aug 2006 21:53:39 - Darren, Flex inherits the HTTP session that the page which contained the EMBED tag acquired. Dont forget that HTTP/HTML is entirely stateless and yet we can easily secure those. The theory is identical with Flex. -- Dave Wolf Cynergy Systems, Inc. Adobe Flex Alliance Partner http://www.cynergysystems.com http://www.cynergysystems.com/blogs Email: [EMAIL PROTECTED] Office: 866-CYNERGY --- In flexcoders@yahoogroups.com, Darren Houle lokka_@ wrote: Franck, I agree with you, but... how do you handle security in a stateless back-end? I mean... how do you maintain logged-in / user session information? Or unauthorized access of the web services by others? If Flex is *completely* agnostic of the back-end technology then how do you securely link them together? Darren From: Franck de Bruijn franck.de.bruijn@ Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: Choice of backend systems - which provides best functionality Date: Tue, 22 Aug 2006 18:03:24 +0200 Hi Barry, I'm not sure if I can be of much help here. I'm not into PHP, I'm not into FDS and remoting and the AMF protocol that is related to it. For me, but that is totally a personal opinion, the only acceptable solution for communication with a back-end is webservices, and nothing else. Briefly here are my reasons: *The coolest thing about Flex is not the graphics ... but that you can make your server stateless, meaning that you obtain 100% fail-over characteristics including linear scalability. With FDS (or any other related solution) you highly likely lose this `feature' and my guess is that scalability will be tougher to achieve; for sure it is harder to guarantee ... with a stateless server solution you can. And we always want to grow with our applications, don't we??? *I like to keep my Flex layer totally independent of my back-end layer. My back-end layer should not be aware by any means of the client technology. With webservices you realize this. With FDS (or any other related solution) you get a vendor lock-in, which I consider undesirable. *The trend in my business is that more and more you get projects only for a front-end or back-end solution. In the past it occurred more that you had to build them together, but that is changing. It's very acceptable to request a back-end to expose its operations through webservices. It's not very accetable to request them to expose it via FDS or something like that. To be fair, there are some disadvantages using web services as well; among others: *No automatic conversion of the web service results into your custom action script classes. You have to make converters yourself to accomplish this. With FDS/AMF I understand you can have this conversion automatically done for you. *Performance. People tend to say that webservices are slow. It's true that the serialization/deserialization of the XML (both on client and server) side takes computing time. My experiences so far are that this extra computing time is not causing any serious damage in the user experience. *Flex has some trouble communicating with DOC/Literal encoded webservices. Especially in the .Net corner this is causing problems. But that should be temporarily ... The adobe guys are working on it and hopefully in a next release these issues will be fixed. For me the advantages of webservices by far outweigh the disadvantages. So if you ask me: use webservices! You keep your freedom ... Cheers, Franck _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of barry.beattie Sent: Tuesday, August 22, 2006 9:50 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Choice of backend systems - which provides best functionality Franck and Doug: may I be so bold as to include here some information I sent to our programming team for them to have some context? I offer it here as a
RE: [flexcoders] Variable Type for Web Service Result
Ethan, Yup, that was it. This works (although it's certainly not the only way to do it)... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationPolicy=all mx:Script ![CDATA[ [Bindable] public var blogResult : Object; public function changeVS() : void{ postKeywords.text = ; postTypeVS.selectedIndex = (whatPostsCB.selectedItem.data == popular) ? 1 : 0 ; refresh(); } public function refresh() : void { if (whatPostsCB.selectedItem.data == popular) blogAggrWS.getMostPopularPosts.send(); else blogAggrWS.search.send(); } ]] /mx:Script mx:WebService id=blogAggrWS wsdl=http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc?wsdl; useProxy=false showBusyCursor=true mx:operation name=getMostPopularPosts result=blogResult=event.result; mx:request daysBack{daysBackCB.value}/daysBack limit{numPostsCB.value}/limit /mx:request /mx:operation mx:operation name=search result=blogResult=event.result; mx:request offset0/offset limit50/limit searchTerms{postKeywords.text}/searchTerms sortByrelevance/sortBy languageIds1/languageIds /mx:request /mx:operation mx:operation name=getLanguages mx:request/ /mx:operation /mx:WebService mx:Panel width=850 height=400 layout=absolute horizontalCenter=0 verticalCenter=0 title=Adobe Blogs Post Finder mx:HBox horizontalCenter=0 top=20 verticalAlign=middle mx:Label text=Get:/ mx:ComboBox id=whatPostsCB change=changeVS() mx:Object label=Posts By Keyword data=search / mx:Object label=Most Popular Posts data=popular / /mx:ComboBox mx:ViewStack id=postTypeVS width=400 mx:HBox verticalAlign=middle mx:TextInput id=postKeywords text=/ mx:Button label=Search click=refresh()/ /mx:HBox mx:HBox verticalAlign=middle width=372 mx:Spacer width=10/ mx:Label text=Show:/ mx:ComboBox id=numPostsCB change=refresh() selectedIndex=0 mx:Object label=Top 5 Posts data=5 / mx:Object label=Top 10 Posts data=10 / mx:Object label=Top 15 Posts data=15 / /mx:ComboBox mx:Spacer width=10/ mx:Label text=In Last:/ mx:ComboBox id=daysBackCB change=refresh() selectedIndex=0 mx:Object label=30 Days data=30 / mx:Object label=60 Days data=60 / mx:Object label=90 Days data=90 / /mx:ComboBox /mx:HBox /mx:ViewStack /mx:HBox mx:DataGrid left=20 right=20 top=62 bottom=20 id=keyPostsDG dataProvider={blogResult} mx:columns mx:DataGridColumn headerText=Post Title textAlign=left mx:itemRenderer mx:Component mx:LinkButton label={data.postTitle} click=navigateToURL(new URLRequest(data.postLink)) color=blue/ /mx:Component /mx:itemRenderer
[flexcoders] Re: Remote object help again..
Hey Jeff, This is very helpful. I didn't know about the trace(ServerConfig.xml) trick. Would it make sense to add some special logic to the compiler to validate all destinations in the code? That would need to apply to all mx:RemoteObject declarations as well as ro.destination = xxx type of assignments. Cheers, Mark --- In flexcoders@yahoogroups.com, Jeff Vroom [EMAIL PROTECTED] wrote: I have not heard of this caching bug before, but I'll follow up and see Flex Builder is doing any caching that might cause this. It is the case that when you compile your SWF, the compiler needs to have a pointer to your services-config.xml file. It includes a subset of the destination configuration into the SWF. You can see what it has included when you enable debug logging on the client (e.g. via: mx:TraceTarget/), or you can just trace it out via: import mx.messaging.config.ServerConfig; trace(ServerConfig.xml); When I've seen this problem in the past, it was due to the fact that the compiler's configuration did not include a pointer to the correct services-config.xml. Jeff From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Mark Piller Sent: Wednesday, August 23, 2006 12:50 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Remote object help again.. Did you add your destination after your Flex Builder project was created? We hear about this problem quite often. It appears Flex Builder caches remoting-config.xml and does not fetch the file every time you build the project. As a result, if a destination is added after the project is created, it will not be recognized unless you do one of the following: - restart Flex Builder - open project properties window, select the 'Flex Compiler' section and click 'Apply' It would be very helpful to get a confirmation from Adobe for this bug. Thanks, Mark --- In flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com , Jeremy Rottman rottmanList@ wrote: I am working on a simple application that uses remote objects to pass data to and from my db. But I keep running into the same problem. In my services-config.xml file, I have setup the destination ROTEST. It looks like this destination id=ROTEST channels channel ref=my-cfamf/ /channels properties sourcebeta.cfc.ROtest/source !-- define the resolution rules and access level of the cfc being invoked -- access !-- Use the ColdFusion mappings to find CFCs, by default only CFC files under your webroot can be found. -- use-mappingsfalse/use-mappings !-- allow public and remote or just remote methods to be invoked -- method-access-levelremote/method-access-level /access property-case !-- cfc property names -- force-cfc-lowercasefalse/force-cfc-lowercase !-- Query column names -- force-query-lowercasefalse/force-query-lowercase !-- struct keys -- force-struct-lowercasefalse/force-struct-lowercase /property-case /properties /destination I wrote this simple flex application to test my connectivity. ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml layout=absolute mx:Script ![CDATA[ import mx.controls.Alert; import mx.rpc.Fault; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private function qryService_userSearch(lastName){ qryService.userSearch(lastName) } private function qryService_userSearch_Result(event:ResultEvent):void{ testDG.dataProvider = event.result; } private function qryService_userSearch_Fault(event:FaultEvent):void{ errorText.text = event.fault.message; } ]] /mx:Script mx:RemoteObject id=qryService destination=ROTEST result=qryService_userSearch_Result(event) endpoint=http://beta.homesmartagent.com/flex2gateway/ http://beta.homesmartagent.com/flex2gateway/ showBusyCursor=true fault=qryService_userSearch_Fault(event)/ mx:Canvas x=0 y=0 width=100% height=100% mx:Label x=10 y=10 text=Name:/ mx:TextInput id=lastName x=60 y=8/ mx:Button x=228 y=8 click=qryService_userSearch(lastName.text) label=Button/ mx:DataGrid x=10 y=38 id=testDG width=779 height=326 mx:columns mx:DataGridColumn headerText=Column 1 dataField=fld_agentFullName/ mx:DataGridColumn headerText=Column 2 dataField=fld_agentId/ mx:DataGridColumn headerText=Column 3 dataField=fld_agentEmail/ /mx:columns /mx:DataGrid mx:TextArea x=10 y=372 id=errorText width=523 height=221/ /mx:Canvas /mx:Application Everytime I test the application, I get this error. faultCode:Server.Processing faultString:'No destination 'ROTEST' exists in service flex.messaging.services.RemotingService' faultDetail:'null' I know my destination exists in my services-config.xml file, but for some reason it
[flexcoders] Don't bindings work both ways??
Hello All, I have a Form with several fields - and those fields are all bound to a ValueObject (using the Curly Braces method). After doing my database calls, etc., my Form populates beautifully with all the values. However, if I edit any of those fields on the Form, and then send the same ValueObject back to the server, nothing is changed - it's as if I didn't make any changes to the Form itself. It was my understanding, that once a Binding Relationship is created, that any changes (either in the Model itself, or the Fields that are tied to the Model) will update in both directions. Is this not true, or am I missing something? Thanks all for your help, Mike -- 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/
RE: [flexcoders] event error
There should be some samples that use these classes to help you out (or check the ASDoc). ResultEvent and FaultEvent are the common ones though. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of moni_singhal Sent: Tuesday, August 22, 2006 10:12 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] event error Hi All, I am tryign to migrate an application from flex 1.5 to flex 2 : In flex 1.5 my code was somewat lk this: service\RemoteService.mxml(328): Warning: variable 'event' and 'args' has no type declaration. private function __applyErrors(event):void { var errorHash : Object = event.result.errors; dispatchEvent(new ServiceErrorEventerrorHash)); for (var key : String in errorHash) { var errorList : Array = errorHash[key]; ErrorManager.getInstance().dispatchErrorserrorList); } var args = event.call.__args; Can anyone plz tell me what should be the type of 'event' and 'args'. Thanks , Monika __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] RTE in List when filtering ArrayCollection
OK, weve filed a bug on this and will look into fixing for the next release. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of João Fernandes Sent: Tuesday, August 22, 2006 12:02 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] RTE in List when filtering ArrayCollection Matt, the filter is removing Items indeed, to solve the problem , I set the verticalScrollPosition to 0 before applying the refresh() method. To have it assigned to a single dataProvider , it's not a problem to use this kind of workaround but I think this should be handle by the listclass. João Fernandes On 8/22/06, Matt Chotin [EMAIL PROTECTED]com wrote: Is the filter removing items? So now your collection would appear to have less items than there were earlier? That'd be a bug in the list class, it should be able to handle the reduction. Maybe you can detach the dataProvider, filter it, and then re-assign it? Matt From: [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED] ups.com] On Behalf Of João Fernandes Sent: Friday, August 18, 2006 9:39 AM To: [EMAIL PROTECTED]ups.com Subject: [flexcoders] RTE in List when filtering ArrayCollection Hi everyone, I'm having this error TypeError: Error #1010: A term is undefined and has no properties. at mx.controls::List/::adjustVerticalScrollPositionDownward() at mx.controls::List/mx.controls:List::configureScrollBars() at mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::updateDisplayList() at mx.controls::List/mx.controls:List::updateDisplayList() at mx.core::UIComponent/validateDisplayList() at mx.managers::LayoutManager/::validateDisplayList() at mx.managers::LayoutManager/::doPhasedInstantiation() at Function/http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/::callLaterDispatcher2() at mx.core::UIComponent/::callLaterDispatcher() at flash.utils::Timer/flash.utils:Timer::_timerDispatch() at flash.utils::Timer/flash.utils:Timer::tick() When applying a refresh() on an arrayCollection (using filterFunction) used inside a listbox. If the list is positioned at the beginning everything works fine but if I scroll down on my list and apply the refresh this error is thrown. Any Ideas? Thanks, João Fernandes __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] service class PendingCall
It will be an AsyncToken. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of moni_singhal Sent: Tuesday, August 22, 2006 9:47 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] service class PendingCall Hi All, Actually m migrating my application from flex1.5 to flex 2 : In Flex 1.5 the code was somewat like this: generated\service\BulkCrudService.mxml(56): Warning: variable '__call' has no type declaration. var __call /*: PendingCall*/ ; This variable we are using in service files,just to store how many pending calls are there. In flex 2 ,this code is giving me a warning as now variable should have its type. So as per the code in flex 1.5 the class mx.remoting.PendingCall; is nto there in flex 2 ,so what should i use instead of PendingCall class. If anyone has any idea ,plz reply. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] FlexBuilder 2.0 SDK plugin with IBM RAD 6.0?
Yeah, RAD 6.0 is based on Eclipse 3.0.2, I believe they are updating in their next release. We will be working with them to try to make things compatible. So for now you do need two versions of Eclipse. Sorry! Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Libby Sent: Wednesday, August 23, 2006 4:12 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] FlexBuilder 2.0 SDK plugin with IBM RAD 6.0? Has anyone tried to install the plugin to RAD 6.0? When I try it tells me wrong eclipse version. It looks like my RAD eclipse version is 3.0.2, but RAD 6.0 is IBM's latest and greatest. Maybe someone could tell me how to install it successfully? Am I gonna have to run two versions of eclipse? : | Thanks, Libby __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Software development tool Software development Software development services Home design software Software development company YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] What is the best invalidation technique for non-UI classes?
We use a Timer in our non-visual code for this. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Sergey Kovalyov Sent: Wednesday, August 23, 2006 8:40 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] What is the best invalidation technique for non-UI classes? Hi All! I have a class inherited from EventDispatcher and want to make some routine in the next frame, exactly as UIComponent does. But EventDispatcher does not dispatch Event.ENTER_FRAME event. What should I do instead? Whether Timer is ok or not? Any other ideas? Regards, Sergey. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] AS HTTPService ignoring method propety
Ah, I believe HTTPService does a for..in loop over the parameters, and if you use a strongly typed class the for..in wont return anything. Then when you try to send no parameters to a POST request it will be turned into a GET by the Player. We should make sure thats mentioned in the docs (or look into changing that behavior). Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of James Polanco Sent: Wednesday, August 23, 2006 6:53 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] AS HTTPService ignoring method propety Hey all, I am using the ActionScript HTTPService and I found an issue with it. I feel its a bug, but I may have been misusing the functionality and I got away with it until I pushed too far. Here is the problem/issue: I have a JSP app that I am calling via HTTP that returns XML data. One of the services requires that the data comes in via POST and not GET. No biggie, just set the method propert... or so I thought. When I called the app it kept coming back with and after looking at the HTTP headers we realized it was always coming in as a GET even though I explicitly set it to POST. This is where things started to get odd... some of my service calls (all routed through the same service code) came out as POSTs and some as GETs. I was able to track down the cause and it was all based around the format of the object that I was passing to the request property. For example, if I did it this way my call became a POST (as desired) myService.request = {zip: 94103}; If I created a custom VO class that had public properties that matched the required parameters it converts to GET on the call(protocode): class MyZipVO { public var zip:String = 94103; } var temp:MyZipVO = new MyZipVO(); myService.request = temp; I didn't catch this at first because my previous services worked as either GET or POST but once I tried to access the one that required POST it all blew up. Anyway, I figured it out and I can work around it, but any idea on why this fails or if this should work in the first place? James __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
For the .Net guys, remote objects is pretty much out of the questions, since remote objects are tightly integrated with the FDS sytem (JAVA-based) which needs to run in a JAVA environment. From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Mark Piller Sent: Wednesday, August 23, 2006 6:36 PM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides In the cases where you cannot use remote objects, web services still work great Andrew, do you have any examples when one would not be able to use remote objects? I am interested to know if you have any technical reasons, rather than just economical. Cheers, Mark --- In [EMAIL PROTECTED]ups.com, Andrew Trice andrew.trice@... wrote: OK, so I've watching this thread going back and forth over and over... Now it's time for my two cents. It looks like this thread began by someone saying that you cannot use web services in a real world flex application. I've got to agree with Dave on this. You definitely can, and we have done it numerous times here at Cynergy. Are there tradeoffs? Yes. As others have said already in the post: The decision on what mechanism to use should be dealt with on a case by case basis. Let's consider a few things: 1. Do the web services already exist and can they handle the current load? If they do, use them. Why reinvent the wheel? 2. Yes, there is a performance advantage to using AMF, but most users will not notice the difference in transport speed... it is fractions of a second. If your application is properly architected and your backend is optimized, the end user will never know the difference. I personally like using remote objects, but not every solution allows for this. In the cases where you cannot use remote objects, web services still work great. SOAP is a very verbose protocol, but by no means is it unusable. If that were the case, why would web services be so prevalent? Why would there be all the buzz about service oriented architectures? If you feel that a web service is too verbose or too slow, and you can't use remote objects, then use a HTTPService to return XML. There are many solutions. It really all boils down to how you use and retrieve your data and depends on your requirements and application architecture. If the processing time on the server is too much for your application to handle, then chances are there is a problem with your application's back end, not the webservice/serialization layer. To generalize and say that you should never use a web service is a very big mistake. -Andy _ Andrew Trice Cynergy Systems, Inc. http://www.cynergysystems.com Blog: http://www.cynergysystems.com/blogs/page/andrewtrice Email: andrew.trice@... Office: 866-CYNERGY From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Jack Caldwell Sent: Wednesday, August 23, 2006 10:40 AM To: [EMAIL PROTECTED]ups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Martin: OK . . . . so the lag time is when the data gets back to the end-user? Bottom line . . . . with all things being equal . . . . Does a web service request take longer to process on the server than a AMF request? If the answer is . . . . in general yes, then that can be an issue with an increase in users. If the answer is . . . . it depends on the data being requested and/or the data format then that seems to suggest that everyone must run tests to compare results and then test again based on scaling up. Is that about right? Thanks, Jack From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Martin Wood Sent: Wednesday, August 23, 2006 8:13 AM To: [EMAIL PROTECTED]ups.com Subject: Re: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Jack Caldwell wrote: Dave: I agree that a 1/3 of a second is not going to be noticed by the end-user. However, when you add 100s or 1,000s of users . . . . does that make a difference? I don't know . . . . that's why I am asking. You guys have the experience. It doesn't make any difference as the timings are on the client side, not the server. There will be some difference in time required to handle requests on the server which may be down to the data format but they would have to be investigated on a case by case basis. martin. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED
RE: [flexcoders] Don't bindings work both ways??
No, binding is only one-way, youll need to set up the 2-way yourself. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Mike Anderson Sent: Wednesday, August 23, 2006 9:56 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Don't bindings work both ways?? Hello All, I have a Form with several fields - and those fields are all bound to a ValueObject (using the Curly Braces method). After doing my database calls, etc., my Form populates beautifully with all the values. However, if I edit any of those fields on the Form, and then send the same ValueObject back to the server, nothing is changed - it's as if I didn't make any changes to the Form itself. It was my understanding, that once a Binding Relationship is created, that any changes (either in the Model itself, or the Fields that are tied to the Model) will update in both directions. Is this not true, or am I missing something? Thanks all for your help, Mike __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Hi Ted, We all understand your arguments 1 and 2. But in the end, and thats already identified in this topic, its the user experience that counts. If it does not suffer by using web services, its not an issue! Id like to hear the first story that changing webservices by AMF increased the user experience significantly and sealed a certain business proposition. For argument 3 Developer Productivity its true that developers need to program more lines of code to obtain the same result (having your webservice result as an ActionScript object), which is, I admit, error prone. But in the total view of the costs of a development project ... it will not make much of a difference. The actual additional lines of code Im talking about, however, are very easy to generate from a model if you wish. Again, FDS is cool, really true and it does have its place. But for many applications FDS (including the extra features messaging and data management) is neither an option nor necessary. Cheers, Franck From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Ted Patrick Sent: Wednesday, August 23, 2006 6:47 PM To: flexcoders@yahoogroups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides AMF is faster in 3 fundamental ways: Bandwidth Size Smaller, lighter, faster!!! Parsing Speed Less work on both client and server!!! Developer Productivity Less work for developers!!! Web Services are dependent on XML Parsing on both the client and server side. Although its a good story, XML parsers are not very efficient as parsing documents is an interpreted process. The Flash Player XML parser will always be dramatically slower than AMF parsing, binary formats are notoriously faster in this regard. XML parsing additionally decays rapidly as the file size increases. Flash Player XML parsing time increase non-linearly with larger XML documents. With AMF parsing times are linear with data size. The XML decay can be attributed to the number of inner objects that need to be created during a parsing run. AMF objects are 1:1 with the data received where XML data is 1:N per Elements/Attribute. Comparing XML to AMF is an unfair race, AMF wins every time. When you add in the overhead of WS SOAP parsing atop the base XML parser speed you begin to see performance issues. With SOAP, you interpret an XML document back into typed objects depending on the SOAP specifics used. Sure 350ms is ok once or twice, but try doing 200 transactions in this format and you will see performance issues arise. Using Web Services you are forcing the Flash Player to do allot of unneeded work. The goal is to build richer applications, not burn up player performance in crud operations. Additionally non-proxied Web Service use suffers with Flash Player because of the browser variation in the plug-in APIS. You cannot get the 500 Errors response content in IE and thus the SOAP fault standard breaks down. In SOAP there are important messages that arrive with 500 Errors and the inability of the Flash Player to receive these is a problem. Unfortunately there is no seamless way to get 500 Errors into the Flash Player other then rewriting an HTTP Client in the Socket class. This effort would also require a new SOAP library within Flex and socket use on low ports requires a more complex crossdomain.xml configuration. Even then you still suffer the same performance issues. Performance aside, the productivity discussion is much more important. AMF3 and Flex Data Services are wildly productive. Once you compile your Java Class and configure a destination in FDS (1 XML Element), you are done. All typing is handled, All methods are ready to run with any number of client applications. It is the easiest way to create a server side API that I know of. Actually most cases, implementing FDS will removes $20,000 of developer time wasted on implementing other data exchange for an application. FDS value is easy to see when viewed through this productivity ROI metric. If you add CF integration into FDS, you enjoy an even more productive jump. We spend so much time talking about performance but we often waste so much developer time doing mundane data exchange when things could be automated. Having worked at Cynergy Systems, everyone needs to realize that Carson, Dave and Team are industry leading professionals at Web Services. They know SOAP better than any single consulting firm that I know of. These guys were on teams at Sybase and Microsoft building the first generation of Web Services integration servers (MS BizTalk, EAServer)!!! They have the expertise to make Web Services/JAVA work seamlessly with Flex but this is out of reach for most (unless you hire them). They can jump through flaming hoops that few developers can with the FLEX / TOMCAT / AXIS / JAVA stack. They have been down a very hard road and have learning all
RE: [flexcoders] AWT-EventQueue-0 java.lang.NullPointerException
I sometimes see that when I shut down the tomcat server. Its usually nothing to worry about. Matt From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Valy Sivec Sent: Wednesday, August 23, 2006 6:21 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] AWT-EventQueue-0 java.lang.NullPointerException I have a FLEX application that runs on a Tomcat 5 server. I leave the application open over night and I see this error in the log. Have you guys seen anything like this? I use Flex 2.0/Tomcat 5 on development env. Any suggestions? Best regards, Valy Sivec Exception in thread AWT-EventQueue-0 java.lang.NullPointerException at sun.awt.Win32GraphicsEnvironment.displayChanged(Win32GraphicsEnvironm ent.java:109) at sun.awt.windows.WToolkit$4.run(WToolkit.java:698) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:461) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh read.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min. __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
[Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides
Franck, Let me disagree with regards to .NET. Our product (WebORB) offers the same support for RemoteObjects in .NET as FDS for Java. In fact, now we also can claim the same support for Ruby objects as well. So I am still curious where RemoteObjects would be inferior to Web Services. Anyone? Thanks, Mark --- In flexcoders@yahoogroups.com, Franck de Bruijn [EMAIL PROTECTED] wrote: For the .Net guys, remote objects is pretty much out of the questions, since remote objects are tightly integrated with the FDS sytem (JAVA-based) which needs to run in a JAVA environment. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Mark Piller Sent: Wednesday, August 23, 2006 6:36 PM To: flexcoders@yahoogroups.com Subject: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides In the cases where you cannot use remote objects, web services still work great Andrew, do you have any examples when one would not be able to use remote objects? I am interested to know if you have any technical reasons, rather than just economical. Cheers, Mark --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Andrew Trice andrew.trice@ wrote: OK, so I've watching this thread going back and forth over and over... Now it's time for my two cents. It looks like this thread began by someone saying that you cannot use web services in a real world flex application. I've got to agree with Dave on this. You definitely can, and we have done it numerous times here at Cynergy. Are there tradeoffs? Yes. As others have said already in the post: The decision on what mechanism to use should be dealt with on a case by case basis. Let's consider a few things: 1. Do the web services already exist and can they handle the current load? If they do, use them. Why reinvent the wheel? 2. Yes, there is a performance advantage to using AMF, but most users will not notice the difference in transport speed... it is fractions of a second. If your application is properly architected and your backend is optimized, the end user will never know the difference. I personally like using remote objects, but not every solution allows for this. In the cases where you cannot use remote objects, web services still work great. SOAP is a very verbose protocol, but by no means is it unusable. If that were the case, why would web services be so prevalent? Why would there be all the buzz about service oriented architectures? If you feel that a web service is too verbose or too slow, and you can't use remote objects, then use a HTTPService to return XML. There are many solutions. It really all boils down to how you use and retrieve your data and depends on your requirements and application architecture. If the processing time on the server is too much for your application to handle, then chances are there is a problem with your application's back end, not the webservice/serialization layer. To generalize and say that you should never use a web service is a very big mistake. -Andy _ Andrew Trice Cynergy Systems, Inc. http://www.cynergys http://www.cynergysystems.com ystems.com Blog: http://www.cynergys http://www.cynergysystems.com/blogs/page/andrewtrice ystems.com/blogs/page/andrewtrice Email: andrew.trice@ Office: 866-CYNERGY From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of Jack Caldwell Sent: Wednesday, August 23, 2006 10:40 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: RE: [Junk E-Mail - LOW] [flexcoders] Re: Choice of backend systems - which provides Martin: OK . . . . so the lag time is when the data gets back to the end-user? Bottom line . . . . with all things being equal . . . . Does a web service request take longer to process on the server than a AMF request? If the answer is . . . . in general yes, then that can be an issue with an increase in users. If the answer is . . . . it depends on the data being requested and/or the data format then that seems to suggest that everyone must run tests to compare results and then test again based on scaling up. Is that about right? Thanks, Jack From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of Martin Wood Sent: Wednesday, August 23, 2006 8:13 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: Re: [Junk E-Mail - LOW]