I've isolated the issue with multiple tests failing down to this test
case. There are two
datasets and a datapointer for each one. In the "good" case, the order
in the app is
dataset, datapointer, dataset, datapointer.
Both datapointers' ondata events fire.
GOOD:
<canvas width="100%" height="600" debug="true">
<dataset name="ds1"
src="http:namespace.xml" request="true" type="http"
ondata="Debug.write('[1] dataset ds1 got ondata')"/>
<datapointer xpath="ds1:/persons" name="pointer_ds1"
ondata="Debug.write('pointer_ds1 ondata received')"/>
<dataset name="ds2"
src="http:namespace.xml" request="true" type="http"
ondata="Debug.write('[2] dataset ds2 got ondata')"/>
<datapointer xpath="ds2:/persons" name="pointer_ds2"
ondata="Debug.write('pointer_ds2 ondata received')"/>
</canvas>
However, if the two datasets come first, and then the two datapointes,
the first datapointer never seems
to run its ondata handler. So what would the order of these objects
have to do with it? argh. The debug trace
shows that both datasets fire their ondata events. So is there some
sort of race condition where the
datapointer misses it's event? How do I tell? I guess putting a trace
onto the event sender code, to see
if the datapointer is actually registered for the event or not when it is sent.
This bug does not occur in swf8 or dhtml
BAD:
<canvas width="100%" height="600" debug="true">
<dataset name="ds1"
src="http:namespace.xml" request="true" type="http"
ondata="Debug.write('[1] dataset ds1 got ondata')"/>
<dataset name="ds2"
src="http:namespace.xml" request="true" type="http"
ondata="Debug.write('[2] dataset ds2 got ondata')"/>
<datapointer xpath="ds1:/persons" name="pointer_ds1"
ondata="Debug.write('pointer_ds1 ondata received')"/>
<datapointer xpath="ds2:/persons" name="pointer_ds2"
ondata="Debug.write('pointer_ds2 ondata received')"/>
</canvas>
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]