Can you please email your class to me as well [offlist]. I'm working on almost the same thing as Jason.
Thanks much, Andrew Rost IDEXX Computer Systems -----Original Message----- From: Merrill, Jason [mailto:[EMAIL PROTECTED] Sent: Friday, February 16, 2007 2:41 PM To: Flashcoders mailing list Subject: RE: [Flashcoders] Events for custom classes? Sure, yes - please send offlist . Thanks! Jason Merrill Bank of America Learning & Organizational Effectiveness >>-----Original Message----- >>From: [EMAIL PROTECTED] >>[mailto:[EMAIL PROTECTED] On Behalf >>Of Karina Steffens >>Sent: Friday, February 16, 2007 3:30 PM >>To: 'Flashcoders mailing list' >>Subject: RE: [Flashcoders] Events for custom classes? >> >>Hi Jason, >> >>I have my own implementation of AsBroadcaster/EventDispatcher >>(bundling both in one class), which is very flexible and can >>be used with inheritance or composition (But unlike the >>standard implementations, it's not a mix-in class). If you'd >>like me to send you the class, just let me know. >> >>Karina >> >> >>> -----Original Message----- >>> From: Merrill, Jason [mailto:[EMAIL PROTECTED] >>> Sent: 16 February 2007 20:16 >>> To: Flashcoders mailing list >>> Subject: RE: [Flashcoders] Events for custom classes? >>> >>> Thanks Alain, will revist it that way instead. >>> >>> Jason Merrill >>> Bank of America >>> Learning & Organizational Effectiveness >>> >>> >>> >>> >>> >>> >>> >>> >>-----Original Message----- >>> >>From: [EMAIL PROTECTED] >>> >>[mailto:[EMAIL PROTECTED] On >>> Behalf Of Alain >>> >>Rousseau >>> >>Sent: Friday, February 16, 2007 3:01 PM >>> >>To: 'Flashcoders mailing list' >>> >>Subject: RE: [Flashcoders] Events for custom classes? >>> >> >>> >>Jason, >>> >> >>> >>So if I understand clearly what you want to do is : >>> >> >>> >>>From Class A : (pseudo code following) >>> >> >>> >>class ClassA { >>> >> private var instClassB:ClassB; >>> >> make comboBox >>> >> make datagrid >>> >> function ClassA() { >>> >> instClassB = new ClassB(); >>> >> comboBox.onChange = Delegate.create(this, >>> cbChangeHandler); >>> >> instClassB.addEventListener("webServiceResult", this); >>> >> } >>> >> >>> >> function cbChangeHandler(e){ >>> >> instClassB.getWSdata(e.value); >>> >> } >>> >> >>> >> function webServiceResult(evtObj:Object) { >>> >> update datagrid with evtObj.newData >>> >> } >>> >> >>> >>} >>> >> >>> >>class ClassB { >>> >> Decorate with EventDispatcher methods >>> >> dispatchEvent, addEventListener, removeEventListener >>> >> >>> >> function ClassB() { >>> >> EventDispatcher.initialize(this); >>> >> } >>> >> >>> >> function getWSdata(val) { >>> >> get data from web service >>> >> wsInstance.onResult = Delegate.create(this, >>> wsResulthandler); >>> >> } >>> >> >>> >> function wsResulthandler(data) { >>> >> this.dispatchEvent({type:"webServiceResult", >>> >>newData:data}) // add anything you want to pass in the object >>> >> } >>> >>} >>> >> >>> >>Now you have them both communication the way you want >>> >> >>> >>Have fun ! >>> >> >>> >>Alain >>> >> >>> >>-----Original Message----- >>> >>From: [EMAIL PROTECTED] >>> >>[mailto:[EMAIL PROTECTED] On Behalf Of >>> >>Merrill, Jason >>> >>Sent: 16 février 2007 14:36 >>> >>To: Flashcoders mailing list >>> >>Subject: RE: [Flashcoders] Events for custom classes? >>> >> >>> >>Daniel, try as I may, I can't get your code to work. I have one >>> >>class, which has a combobox. I can get the event to fire >>when the >>> >>combobox changes just fine, but I can't get it to "hear" >>> the firing of >>> >>the data capture from the webservice in the other class. >>> >> >>> >>So basically, in pseudocode, I need to do this: >>> >> >>> >>class A{ >>> >> make comboBox >>> >> make datagrid >>> >> when comboBox changes, use Class B >>> >> to get data from webservice >>> >> when webservice result received, >>> >> update datagrid with new data >>> >> >>> >>} >>> >> >>> >>class B{ >>> >> connect to webservice >>> >> when requested, return data to requesting class } >>> >> >>> >>Reason I want these two classes to be separate is because I >>> want other >>> >>classes to call Class B to get data as well. So, I can do all of >>> >>those things just fine, they are all working, except for the last >>> >>part, "when requested, return data to requesting class" - >>I figure >>> >>since the webservice is asynchronous, I need to capture the >>> received >>> >>event, which is fine, I can do, that works. But I need to >>> tell Class >>> >>A to update the datagrid with the new data when it gets it >>> from Class >>> >>B - so an event model is required. >>> >> >>> >>in your code, you have a var r in both the "Class A" and >>> "Class B" - >>> >>I'm confused about that. Thanks for any help. >>> >> >>> >> >>> >>Jason Merrill >>> >>Bank of America >>> >>Learning & Organizational Effectiveness >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >>>>-----Original Message----- >>> >>>>From: [EMAIL PROTECTED] >>> >>>>[mailto:[EMAIL PROTECTED] On >>> >>Behalf Of Holth, >>> >>>>Daniel C. >>> >>>>Sent: Friday, February 16, 2007 10:36 AM >>> >>>>To: Flashcoders mailing list >>> >>>>Subject: RE: [Flashcoders] Events for custom classes? >>> >>>> >>> >>>> >>> >>>>Here is your code modified to use the EventDispatcher: >>> >>>> >>> >>>>import mx.events.EventDispatcher; // import the event dispatcher >>> >>>> >>> >>>>class com.boa.projects.iqrcgenerator.components.AdminData{ >>> >>>> public var addEventListener:Function; // Set >>the functions >>> >>>> public var removeEventListener:Function; // Set >>the functions >>> >>>> private var dispatchEvent:Function; // Set the functions >>> >>>> >>> >>>> private var userData:Object; >>> >>>> >>> >>>> // I'm sure you have a different constructor, >>but you need >>> >>>> // to add that line to it if you want to use >>the eventdispatcher >>> >>>> public function AdminData(){ >>> >>>> mx.events.EventDispatcher.initialize(this); // >>> >>add this to >>> >>>>constructor >>> >>>> } >>> >>>> >>> >>>> public function wsUserDataByLOB(lobDbId:Number):Void{ >>> >>>> var getUserListResult:Object = new Object(); >>> >>>> getUserListResult = >>> >>>>generatorWebService.GetUserList(lobDbId); >>> >>>> >>> >>>> var r = this; // To get this in onResult >>> >>>> getUserListResult.onResult = function(oUser){ >>> >>>> >>> >>>> r.dispatchEvent({type:"eventOnResult", >>> >>>>user:oUser}); // Dispatch the event >>> >>>> >>> >>>> >>> >>>> } >>> >>>> } >>> >>>> >>> >>>> >>> >>>> // I may just take this function out all together since >>> >>the event >>> >>can >>> >>>> // autommatically send them the data. >>> >>>> public function getUserData():Object{ >>> >>>> return userData; >>> >>>> } >>> >>>>} >>> >>>> >>> >>>> >>> >>>>Then in your other class you can do something like: >>> >>>> >>> >>>>//myAdminData is an instance of the class above >>> >>>> >>> >>>>var r = this; >>> >>>>r.eventOnResult= function(evtObj:Object){ >>> >>>> trace("user: " + evtObj.user); // Should return the >>> >>oUser object } >>> >>>>// addEventListener takes the event name, and who you want >>> >>to listen >>> >>>>myAdminData.addEventListener("eventOnResult", r); >>> >>>> >>> >>>> >>> >>>> >>> >>>>Does that help? I obviously can't test the code, but I think >>> >>>>everything is right... I have trouble with scope, >>which is why I >>> >>>>use a lot of 'r' >>> >>>>values instead of 'this'... Just easier for me... >>Probably not a >>> >>>>good coding standard :) >>> >>>> >>> >>>>-Dan >>> >>>> >>> >>>>-----Original Message----- >>> >>>>From: [EMAIL PROTECTED] >>> >>>>[mailto:[EMAIL PROTECTED] On Behalf Of >>> >>>>Merrill, Jason >>> >>>>Sent: Friday, February 16, 2007 9:03 AM >>> >>>>To: Flashcoders mailing list >>> >>>>Subject: [Flashcoders] Events for custom classes? >>> >>>> >>> >>>>OK, I'm pretty good at Actionscript 2.0, but something I never >>> >>>>really understood and now need to. >>> >>>> >>> >>>>Core question: How do I make an event in a custom class, >>> and how do >>> >>>>I make a listener in another class listen for the event? >>> >>>> >>> >>>> >>> >>>>EventBroadcaster in the help docs seems to only show how >>> to use it >>> >>>>with Adobe classes and components. Docs on listener are >>> the same. I >>> >>>>know how to set up listeners for other events, like >>> keypresses and >>> >>>>mouse rollovers. Easy enough. >>> >>>>But my problem is this (see comments in code >>> >>>>below): >>> >>>> >>> >>>>class com.boa.projects.iqrcgenerator.components.AdminData{ >>> >>>> >>> >>>> >>> >>>> private var userData:Object; >>> >>>> >>> >>>> public function wsUserDataByLOB(lobDbId:Number):Void{ >>> >>>> var getUserListResult:Object = new Object(); >>> >>>> getUserListResult = >>> >>>>generatorWebService.GetUserList(lobDbId); >>> >>>> getUserListResult.onResult = function(oUser){ >>> >>>> //this works fine, >>> >>>> >>> >>>> //I can capture this event result here, >>> >>>> //but how do I notify another class? >>> >>>> //also what about scope here? >>> >>>> //how to set userData as oUser result? >>> >>>> //can I fire an event in my AdminData >>> >>>> //class from here? >>> >>>> } >>> >>>> } >>> >>>> >>> >>>> >>> >>>> public function getUserData():Object{ >>> >>>> //can't let user get this data >>> >>>> //until Webserive event is done. >>> >>>> return userData; >>> >>>> } >>> >>>>} >>> >>>> >>> >>>>Thanks, >>> >>>> >>> >>>> >>> >>>>Jason Merrill >>> >>>>Bank of America >>> >>>> >>> >>>>Learning & Organizational Effectiveness >>> >>>> >>> >>>> >>> >>>> >>> >>>> >>> >>>>_______________________________________________ >>> >>>>Flashcoders@chattyfig.figleaf.com >>> >>>>To change your subscription options or search the archive: >>> >>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >>>> >>> >>>>Brought to you by Fig Leaf Software Premier Authorized Adobe >>> >>>>Consulting and Training http://www.figleaf.com >>> >>>>http://training.figleaf.com >>> >>>> >>> >>>>This e-mail and its attachments are intended only for the >>> use of the >>> >>>>addressee(s) and may contain privileged, confidential or >>> proprietary >>> >>>>information. If you are not the intended recipient, or >>> the employee >>> >>>>or agent responsible for delivering the message to the intended >>> >>>>recipient, you are hereby notified that any dissemination, >>> >>>>distribution, displaying, copying, or use of this >>information is >>> >>>>strictly prohibited. If you have received this communication in >>> >>>>error, please inform the sender immediately and delete >>> and destroy >>> >>>>any record of this message. Thank you. >>> >>>>_______________________________________________ >>> >>>>Flashcoders@chattyfig.figleaf.com >>> >>>>To change your subscription options or search the archive: >>> >>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >>>> >>> >>>>Brought to you by Fig Leaf Software Premier Authorized Adobe >>> >>>>Consulting and Training http://www.figleaf.com >>> >>>>http://training.figleaf.com >>> >>>> >>> >>_______________________________________________ >>> >>Flashcoders@chattyfig.figleaf.com >>> >>To change your subscription options or search the archive: >>> >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >> >>> >>Brought to you by Fig Leaf Software >>> >>Premier Authorized Adobe Consulting and Training >>> >>http://www.figleaf.com http://training.figleaf.com >>> >> >>> >> >>> >>-- >>> >>No virus found in this incoming message. >>> >>Checked by AVG Free Edition. >>> >>Version: 7.1.412 / Virus Database: 268.18.0/689 - Release >>> >>Date: 2007-02-15 >>> >> >>> >> >>> >>-- >>> >>No virus found in this outgoing message. >>> >>Checked by AVG Free Edition. >>> >>Version: 7.1.412 / Virus Database: 268.18.0/689 - Release >>> >>Date: 2007-02-15 >>> >> >>> >> >>> >>_______________________________________________ >>> >>Flashcoders@chattyfig.figleaf.com >>> >>To change your subscription options or search the archive: >>> >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >> >>> >>Brought to you by Fig Leaf Software >>> >>Premier Authorized Adobe Consulting and Training >>> >>http://www.figleaf.com http://training.figleaf.com >>> >> >>> _______________________________________________ >>> Flashcoders@chattyfig.figleaf.com >>> To change your subscription options or search the archive: >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >>> Brought to you by Fig Leaf Software >>> Premier Authorized Adobe Consulting and Training >>> http://www.figleaf.com http://training.figleaf.com >>> >> >>_______________________________________________ >>Flashcoders@chattyfig.figleaf.com >>To change your subscription options or search the archive: >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >>Brought to you by Fig Leaf Software >>Premier Authorized Adobe Consulting and Training >>http://www.figleaf.com http://training.figleaf.com >> _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com