Flex :: Order Of Calls To Set Functions When Invoking A Flex Component
Apr 14, 2010
I have a component called a TableDataViewer that contains the following pieces of data and their associated set functions:[code]This component is nested in another component as follows:[code]Looking at the trace in the logs, the call to set table is coming before the call to set dataSetLoader. Which is a real shame because set table() needs dataSetLoader to already be set in order to call its load() function.So my question is, is there a way to enforce an order on the calls to the set functions when declaring a component?
I have a web service written in ColdFusion. In this web service, there are two functions; one is to return all the questions in a quiz and the other one is to return all the answer selections to the questions in a quiz.
[Bindable] private var questionArray:ArrayCollection; private var cfquiz:RemoteObject;
[code]....
I have the codes above. loadQuestions is called at creationComplete to retrieve the questions. Things are working fine. What I want to do is to call another function within the same web service, returnAnswers, to return the answer options for a question. Since I have cfquiz associated to the web service already, I was using cfquiz to call returnAnswers. However, there is an event listener associated to cfquiz already, resultHandler is being called when returnAnswers comes back with the results.is it possible to check which function returns the results within resultHandler? If so, how? And second, what is the best way to handle calls to multiple functions within the same web service?
I'm working with a third party swf that I cannot change and am charged with making it work in a local environment, loaded within a container application I have built. The SWF was published for accessing the network sandbox, so whenever it invokes the ExternalInterface in a local html container, it throws a security sandbox error and kills execution. The ExternalInterface calls are all non-critical (logging) so if I can block them somehow, then I won't have a problem any more.
I have a component that has a sub-component they both use a shared variable from the model. The shared variable needs to be set by the parent component before it can be used by the child component. I did like this in the parent component:
But for some reason when the code inside myCustomComponent tries to use myVariable for the first time I get a "null" object error. This means I guess that the child component gets rendered before the group1_activateHandler gets called and consequently myVariable gets set.
What should I do to ensure that the parent container initializes the variable before the child component gets created?
As per the book, 'childAdd' event of parentcontainer should be triggered after triggering of 'PreInitialize' and 'Initialize' event of childcontianer while as per the program out put it seems otherwise.What I found in books is as below:
I have a regular spark list which is sorted correctly when no item renderer is used. However, when the following item renderer is used, the list shuffles and displays items from previous instances of the list.[code]
I'd like to have a double click event on a datagrid in Flex3. The following example only works if the Accordion (id = "mustBeSecond") container comes after the DataGrid. Why is the order of the components important and what can I do to prevent this behavior? (The example does not work. If you change the order of "mustBeSecond" and gridReportConversions" the example works fine)
I've not touched AS2 since AS3 appeared, but circumstances brought me back to using AS2,Is there way to invoke the functions/methods in a loaded movieclip? I know you can do that in AS3 by invoking the Loader object's content's function, but I haven't been able to do that successfully in AS2. I'm currently using the AS2 MovieClipLoader object, like so (snippet):[code]as set up, I intended the target movieclip's function 'invokeInternal Function' to run, but it doesn't seem to be doing it although the SWF itself loads successfully.
In Flex ActionScript, a new object can be instantiated via the parameterless constructor with or without (). Example: var array:ArrayCollection = new ArrayCollection()
var array:ArrayCollection = new ArrayCollection
Is there a difference between the two? Is one preferred over the other?
I've got to invoke a RPC service, and all the parameters sent are String. It works quite well when the data is relatively small, but when one of the string grows to the size about 10 or over hundred KB, immediately after the service is invoked, it goes to the error handler:
[FaultEvent fault=[RPC Fault faultString="Error #2006: The supplied index is out of bounds." faultCode="InvokeFailed" faultDetail="null"] messageId="85CF2FB3-E79D-779F-87F9-B04520318D3A" type="fault" bubbles=false cancelable=true eventPhase=2]
I've got a component written for my app by a third party developer and am trying to integrate it, but I've found a bug that seems like it's either a compiler bug, or there's something with how Flex and static variables work that I wasn't aware of.Basically, I have this:
public class ModeChangeController { public static const DISPLAY_MODE:String = "DisplayMode"; }[code]...
If I use //V2 (i.e. comment out V1), a bug occurs at the startup of the application (some TextFields are uneditable and contains no text), but with //V1 and not V2, it works fine. If I comment out both, that also works fine (I don't get the TextField bug).It took me a while to figure out that it was that static const String that was causing the issue, but I'm still not sure why or if there's something I can do about it except for just moving the DISPLAY_MODE to Events (which is what I've done at the moment, but it's not a particularly nice solution).There are no errors in the log. The order of the includes in my BorderContainer code doesn't matter. I've googled for "as3/flex static initialization order" but haven't found anything.
Clarification: showInitialView() never gets called. It doesn't get there before the other bug shows up. Just having the V2 line there causes the problem.
Update: I've fixed my problem with the TextInput strings not showing: Turns out that adding the component caused the Tahoma font to not show up. However, setting the font-weight to bold fixed that problem, or switching to Arial. With that said, the original question still stands, because when I ran it without V2, it found Tahoma with normal font-weight.
The flex DataGrid colums are arranged alphabetically by default. I need to order the DataGrid colums as per the order in its dataProvider. The dataprovider is the result of the HTTPService . And the number of columns is not known to us . The number of columns depends on the HTTPService result.
why this isn't working. im dynamically loading a list of mp3's and when i click on them i want to play the mp3 that i clicked on (this is the thisRow.onRelease function), but it says that the "this.filename" property is undefined, but it is defined when i trace it.
Code:
function populateSongs() { for(var i:Number = 0; i < songArr.length; i++) { //trace(i);[code].........
OK, from what I know actionscript in Flex runs asynchronously. I need the ability to run a method in a loop synchronously. Consider this code:
public class CustomerContainer extends VBox { public function CustomerContainer () {
[Code]....
This is not my exact situation as it is a bit more complicated to explain here. There is an abstract class and several custom view objects derived from it. Some of the views are dependent on others being completed first but I cannot seem to order them in the correct order. TIMERS are not an option. Probably not explaining this correctly.
I don't know if this is possible with Actionscript 3. What I want to do is have a loseAll(); function that calls other function that in turn close sections of an application. I would be easier to have all the close functions in the closeAll() function and then pass a reference to the once that i don't want to be called. something like this.
I am using Flex and with the AS3 libraries.I can make calls etc but when i get values returned in the event,they are in RawResult. I am not sure how to turn that into an arraycollection etc so i can make use of it in flex, or if there is a better way of accessing the data, generally speaking.
var friendsDoc : XMLDocument = new XMLDocument(e.data.rawResult); var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);[code]....
I have to use flex 4 for the front end and php with Symfony 2 as backend. I want to use amf to call remote methods on the php. I have known that Symfony 2 does not have plugin for amf communications with Flex. In this case how can I connect them? or I have to use httpservice/webservices which is slow in performance.
I have a component "child" which has a cancel button. Now this component is placed in a state called "newChildComp" I also have another component called "parent". In the parent component, i have a button that dispatches an event. Here is the event code:
[Code].....
so, basically,i am checking to see if the cancel button component in the Child component, while i am still in the parent Compoent, was clicked, if it was clicked, call the cancelButtonHandler. The problem is by the time the addNewChild handles the event, that cancel button was still null. My question is how do i solve this without using the itemCreationPolicy on the cancel button?
Web service calls are asynchronous in flex, but I wanted to wrap a web service call in a class to provide synchronous encapsulation. Something like the below - the user could call getMyMethodResult and get the result returned by the web service. I expected the thread that recieved the soap response would populate the variable _result and mean that getMyMethod would, after a time, find _result is not longer null. But it doesn't! Can anyone explain why this does not work?[code]
I have the following application in flex. I want to call two different remote objects in parallel.
[Code]...
Now what the methods do is to print sth. when they are called, then wait 8 secs and print sth. after that. When clicking each button seperatly, it works, both methods are started in parallel. However, calling both method the same time, leaves one service to wait with its call while until the other is executing. How can I avoid that?
I have a Flex 3 application that makes a call to a webservice. That webservice calls returns a 2 Mb file that flex reads and parses. The problem is that it takes sometimes 45 seconds. I was wondering if there is a way to cache the response form the webservice? So the next time I load the flash movie it doesn't have to re-download the full file but just the updated data.
We are converting a Flex application to use some REST APIs.
When adding the mx.rpc.http.HTTPService class to the code, the SWF binary output grew from 175KB to 260KB. This is an unacceptable hit.
Is there any better way to do lightweight REST calls from a Flex app? Are we better off using an external interface JS just to make the calls from there?
I have this button: <s:Button includeIn="MeniuPrincipal" label="Descarcare Date" click="downloadLmData(event)"/> And this click event handler: protected function downloadLmData(event:MouseEvent):void { downloadData('competenta', 'competente'); downloadData('localitate', 'localitati'); }
The downloadData function looks like this: private function downloadData(item:String, items:String):void { try { var colVar:String = 'col' + cappitalize(items); this.status = "Descarcare date in curs..."; this[colVar] = null; [Code].....
The problem is, all calls are ignored, except for the first one. Is there any "queuing" mechanism which would allow all calls to be made?
I have a Flex 3 application that makes a call to a webservice. That webservice calls returns a 2 Mb file that flex reads and parses. The problem is that it takes sometimes 45 seconds. I was wondering if there is a way to cache the response form the webservice? So the next time I load the flash movie it doesn't have to re-download the full file but just the updated data.
I'm on Flash Builder 4.5 and I'm using remote object with amfphp and when I call two method (method1 and method2) at the same time the response of method2 always arrives after method1's response even though method2 is much more faster to return the result.re's the scenario:I set a remote object which refers to a remote php class "Newletter" which contains the sendNewsletter and getProgress methods.Here's the code:-sendNewsletter() reads the email archive and send the newsletter. After each email has sent it writes a log into the database.-getProgress() reads the log wrote by sendNewsletter, counts how many email have been sent, compares it with the total number of the email that have to be sent and return the progress percentageFrom the flex interface the users select a Newsletter to be sent and click on a "send" button which calls a function that calls the sendNewsletter() and then instantiate a loop of calls to getProgress (as you can see when getProgress returns something it calls the setProgress which updates a progress bar and calls getProgress again until the progress percentage reach 100%.
So right after I call sendNewsletter() I call getProgress() on the same remoteClass().sendNewsletter() can take several minutes to complete (in my tests for sending 4 email it takes about 4 seconds so I think that sending thousands of email will take much more!!) and the trouble I'm encountering here is that getProgress() result arrives only after sendNewsletter() concludes its execution while what I would like to achieve is:
I have 5 Cairngorm Events that I am dispatching at the same time(one right after the other) - all of which call a separate HTTP Service. This works fine when I run the application locally however when I deploy my project to a Glassfish server, it only works intermittently, with the app hanging when it doesn't work.
My temporary work around to this is to chain some of the events together so less call are going out at once, but I don't really like this as a viable solution because it slows down performance.
Is there a maximum number of HTTPService requests that Flex can make at once before it hangs?
I'm developing a Flex application and am having some trouble working with asynchronous calls. This is what I would like to be able do:
[Bindable] var fooTypes : ArrayCollection(); for each (var fooType : FooType in getFooTypes()) { fooType.fooCount = getFooCountForType(fooType);[code]....
The issue I'm running into is that both getFooTypes and getFooCountForType are asynchronous calls to a web service. I understand how to populate fooTypes by setting a Responder and using ResultEvent, but how can I call another service using the result?
I am working on an app, where the server time needs to be displayed on a Flex app. The idea is to make a BlazeDS remoting call getServerTime() once during the app intialization and then use a local Timer class to keep updating the display.( I don't want to bombard server with getServerTime() for each second). My question is, once I have a AS3 Date object. How do I increment it by seconds?