do you have a reference to the class that is broadcasting the event in the class that's listening for the event?

meaning, when you write your addEventListener in your Receiving class, you should have:

referenceToBroadcastingClass.addEventListener("myEvent",myHandler);
----- Original Message ----- From: "Merrill, Jason" <[EMAIL PROTECTED]>
To: "Flashcoders mailing list" <flashcoders@chattyfig.figleaf.com>
Sent: Friday, February 16, 2007 2:35 PM
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

_______________________________________________
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

Reply via email to