Claudiu You have a very complex application using Cairngorm (Which I don't use).
The creationComplete event only fires after all of the children have been created. I would start troubleshooting by turning off child creation one by one until the creationComplete fires. Also monitoring the server requests with something like Charles may prove fruitful. Sorry I can't be more helpful. --- In [email protected], "Claudiu Ursica" <[EMAIL PROTECTED]> wrote: > > So I'm trying to be as explicit as I can. > > The reason for which I choose to go with a module is because there will > be a lot of users which won't be interesetd in acessing this > functionality. It is a window which displays a chart and a datagrid. > > Now the the application is a simulation of a horse race and you can > place bets on each of the horses you consider will win. (go to > games.betfair.com and start the - card derby racing game). What you > cannot see now is that when user wil click on either Spades, Hearts, > Clubs, Diamonds in there a pop-up window will show up and will display > information about the betting volume over time. That is the window I am > talking about. So I have a title window in the main application and I > load a module via module loader in that window. (if you look at any > other games at games.betfair.com you's lee when you click on a market > name in there a javascript pop-up showing up with a chart and a grid in > there). I am building something like that in flex... > > The main app is based on cairngorm, and I also have cairngorm in my > module a separate controller, and using a simple httpService with the > urls got from the mai app. The module listens for some variables in the > main app and when that change, the bindings tiggers and updates the > chart and datagrid via httpService calls. > > I'll paste some code snippets in here so you can get a better > understanding: > The module: > > > //======================================================================\ > ================================================= > // Private fields > > //======================================================================\ > ================================================= > private var _currencyFormater : CurrencyFormatter = new > CurrencyFormatter(); > > [Bindable] > private var _model : MarketInfoModel = > MarketInfoModel.getInstance(); > > > //i use these for unwatching the bindings when the module unloads > private var _gameMarketIdChangeWatcher : ChangeWatcher; > private var _gameSelectionClickedChangeWatcher : ChangeWatcher; > private var _updateTradeActivityInfoChangeWatcher : > ChangeWatcher; > private var _gameMarketSelctionInfoChangeWatcher : > ChangeWatcher; > > > //the init event handler > private function initModuleVars() : void > { > //get the appmodel > this._model.gameModel = GamexModel.getInstance(); > this._model.url = > ((this._model.gameModel.urls.tradeActivityInfo == null) || > (this._model.gameModel.urls.tradeActivityInfo == '')) ? > this._model.gameModel.altURLS.tradeActivityInfo : > this._model.gameModel.urls.tradeActivityInfo; > this._model.currentMarketId = > this._model.gameModel.channel.game.market.marketInfoChangeTrigger.trigge\ > ringMarketId; > this._model.currentSelectionId = > this._model.gameModel.channel.game.market.marketInfoChangeTrigger.trigge\ > ringSelectionId; > > //init the model Httpservice with this HTTPService > this._model.httpService = this.marketInfoHTTPService; > > //set the currency formatter > this._currencyFormater.precision = 2; > this._currencyFormater.rounding = > NumberBaseRoundType.NEAREST; > this._currencyFormater.currencySymbol = > this._model.gameModel.user.currency.symbol; > > trace("init"); > } > > creationComplete eventHandler > /** > * creationComplete eventHandler > * @return void > */ > private function onCreationComplete() : void > { > trace("1"); > this._gameMarketIdChangeWatcher = > BindingUtils.bindSetter(this.onGameMarketIdChanged, > this._model.gameModel.channel.game.market, "id"); > trace("2"); > this._gameSelectionClickedChangeWatcher = > BindingUtils.bindSetter(this.onGameSelectionClicked, > this._model.gameModel.channel.game.market.marketInfoChangeTrigger, > "triggerMarkeInfoChange"); > trace("3"); > this._updateTradeActivityInfoChangeWatcher = > BindingUtils.bindSetter(this.updateTradeActivityInfo, > this._model,"trigger"); > trace("4"); > this._gameMarketSelctionInfoChangeWatcher = > BindingUtils.bindSetter(this.onGameMarketSelctionInfoChanged, > this._model.gameModel.channel.game.market, "triggerModuleGridUpdate"); > > trace("creation complete"); > } > > Basically the "init" handler fires for all children and then for the > whole module, it is the creation complete that doesn't get called > sometimes untile very late or the end of the game. Bu it you give time > until then it will show up evetually. The polling for data only happend > when the above bindings are set. I poll for data only inside those > setters... > > This morning I have set creation policy to quequed for the module and I > wasn't able to reproduce it until now. However this is not something I > can be sure of that it is indeed the fix... And the fact that this > happend very randomly doesn't help that much either.... > > TIA, > Claudiu > > --- In [email protected], claudiu ursica <the_braniak@> > wrote: > > > > I am, but via bindings (set via BindUtils.bind setter in the complete > handler), but I have put a message before those bindings and it is not > like the bindings are not init, the event doesn't get dispatched. The > setters are the one who dispatch cairngorm events and in the command > (actually delegate) I make a request to the server. > > > > I'll post some code tomorrow first thing in the morning... > > Cheers, > > Claudiu > > > > > > > > > > ________________________________ > > From: valdhor stevedepp@ > > To: [email protected] > > Sent: Tuesday, November 25, 2008 6:47:09 PM > > Subject: [flexcoders] Re: Module loaded but not displayed every > time... > > > > > > Are you contacting a server by any chance? > > > > Perhaps you could post some code? > > > > --- In [EMAIL PROTECTED] ups.com, "Claudiu Ursica" <the_braniak@ > ...> > > wrote: > > > > > > Hi again, > > > I see nobody bumped into this issue... > > > Since the previous post I have discovered that the module does not > > > show up because the cration complete event does not fire all the > time. > > > I was able to log the preinitialize event and the init event but > when > > > the module doesn't show it is because the creation complete does not > > > fire. Eventually the module does show after 2 minutes or so... an > then > > > I see the log for creation complete. > > > > > > In my initialize event I initialize some variables and that always > > > gets done, but I vahe no odea what happends sometimes that > determines > > > the creation complete to fire so late. > > > > > > Maybe some of you can help with this, > > > TIA, > > > Caludiu > > > > > > > > > --- In [EMAIL PROTECTED] ups.com, "Claudiu Ursica" <the_braniak@ > > > > wrote: > > > > > > > > Hi, > > > > I load a module using a custom module loader. Event though the > READY > > > > event fires every time, and the visible property traces out to > true, I > > > > am not able to see the module each time I load it. This happens > only > > > > when I start the application. If I can see it the first time I can > > > > then unload and load it again and it gets displayed. However if > I'm > > > > not seeing it the first time it is not visible for good. > > > > > > > > Sometimes (not all the time) I gets shown after a while. I have > tried > > > > invalidating the display list or similar force repainting > techniques > > > > but nothing seems to work. > > > > > > > > Has any of you experienced something similar? > > > > If so please let me know if you have found any workaround. > > > > > > > > TIA, > > > > Claudiu > > > > > > > > > >

