Thanks Curt,
The code is working fine for "onBeforeDisplayEvent", once I made the method
public. But still it was not working for "onBeforeHtmlEvent". I made the
code to work with the help of your second suggestion. Thanks !
And also, what is the ideal situation in which event mapping function could
be used?

Regards,
Krupesha



-----Original Message-----
From: Curt Springer [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 25, 1999 6:26 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [ND] Event Mapping in onAfterInitEvent() not working


I've done a fair amount of this stuff.  It's a little bit tricky.

One thing that jumps out is that your method 'myMappingFunction' is
private.  It must be public.  I don't have time to do a detailed review of
your code versus mine to see what else there might be.

I also wonder if you really need to use the event mapping function, seeing
that you're applying it to all page children.

Here's another possible way to do it:

public int this_onBeforeDisplayEvent(WhateverEvent event)
{
        for (int i = 0; i < numOfChildren; i++)
                CSpVisual v = (CSpVisual)_children.elementAt (i);
                populatePlease(v);
getEventAdapter (), false);
        }


}

A couple of cautions:

-- The hidden page session object is one of the page children.  You
probably want to exclude this from your routine field processing.   You can
test on 'instanceof CSpPageSessionHidden' (look up the exact class name)

-- I hadn't realized that the parent-level class variable _children is
protected.  You could insulate yourself from changes to ND's future
structure by calling getChildren and then cycling through the returned list
(which can be converted to an Enumeration)

-- Curt Springer, Team ND


At 05:10 PM 5/25/99 +0530, Krupesha C wrote:
>The ND documentation says that, you can map the events associated with
>visual objects to user defined methods in onAfterInitEvent(). This will be
>helpful when the same code is used by many visual objects for
>initialization. Instead of calling the user defined function in
>visulaObject_onBeforeDisplayEvent(), we can map this method to event's
>onBefore...Event() using CSpVisual.mapEvent() method
>
>Even though usage looks perfect for me, am getting the following error (ND
>4.1):
>spider.event.adapters.CSpPageEventAdapter.addEventMapping: Can't find the
>method 'myMappingFunction' in target Object
>of type 'myProject.myPage'
>
>The code used is like this:
>
>public int this_onAfterInitEvent(CSpInitEvent event)
>{
>       int numOfChildren = _children.size ();  //list of visuals
>       for (int i = 0; i < numOfChildren; i++)
>
>
>               CSpVisual v = (CSpVisual)_children.elementAt (i);
>               v.mapEvent ("onBeforeDisplayEvent", this, "myMappingFunction",
>getEventAdapter (), false);
>       }
>       return (PROCEED);
>}
>
>
>private int myMappingFunction(CSpDisplayEvent event)
>{
>       populatePlease((CSpVisual) event.getSource());  //Call generic routine now
>}
>
>(ND Documention Series reference: "Changes You Have to Make to Your Code"
>under "Migrating NetDynamics Projects to 4.x." of "Technical Briefs".
>.../NetDynamics/NetDynamics40/Docs/res/techbriefs/migrate.html#@Changes)
>
>
>Thanks for your time,
>Krupesha
>
>
>
>
_________________________________________________________________________

For help in using, subscribing, and unsubscribing to the discussion
forums, please go to: http://www.netdynamics.com/support/visitdevfor.html

For dire need help, email: [EMAIL PROTECTED]

_________________________________________________________________________

For help in using, subscribing, and unsubscribing to the discussion
forums, please go to: http://www.netdynamics.com/support/visitdevfor.html

For dire need help, email: [EMAIL PROTECTED]

Reply via email to