Hi FusionCharts people,
We are using Fusion Charts 3.31XT. We have a plug-in that deals with exporting Fusion Chart SWF rendered images to image files. Our code hinges on reading the "drawcomplete" event fired by the SWF files. It takes the following form:
AxShockwaveFlash obj = SomeFactoryFunction();
obj.FlashCall += MyCallBack;
obj.LoadMovie(0, urlWithParams);
obj.Stop();
public void MyCallBack(object sender, _IShockwaveFlashEvents_FlashCallEvent e)
{
AxShockwaveFlash obj = sender as AxShockwaveFlash;
bool receivedDrawComplete = parseDrawComplete(e.request);
if (receivedDrawComplete)
{
/// Do my stuff and finish!
}
}
Now, let's say we have a dataset that will result in no rendering in the Funnel and/or Pyramid chart:
file:///MyFolder/Funnel.swf?dataXML=<chart animation='0' caption="MyChart" xAxisName="" yAxisName="" labelDisplay="wrap" showValues="1" numberPrefix="%24" decimals="2" decimalSeparator="." thousandSeparator="," formatNumberScale="1" isPercentage="0" showNames="1" isSliced="1" slicingDistance="5" streamlinedData="0" labelPadding="15" showBorder="0" bgColor="#FFFFFF" bgAlpha="0" xmlns="http://MyNameSpace"><styles><definition><style name="titleFont" type="font" font="Tahoma" size="9.75" color="000000" bold="1" italic="0" underline="0" /></definition><application><apply toObject="Caption" styles="titleFont" /></application></styles><set name="A" value="0.00" /><set name="B" value="0.00" /></chart>&0®isterWithJS=1
Then "drawcomplete" or even the "rendered" events actually never get fired. The last chronological event we'd receive would be "dataloaded". But if we do actually enter some non-zero values into the dataset, then we'd get "rendered" and "drawcomplete" firing after "dataloaded".
This, of course ,is causing some issues for us because we need to know when the rendered image is finalized. And with this condition, we have no idea of how long to wait and thus run into the danger of blocking indefinitely.
It'd be nice if workaround can be provided for this (preferably not installing a later version, as we would rather not to deal with backward compatibility issues on our end).
Note: I will gladly provide our license number through PM if that's necessary for the question to be answered quickly.
Thanks.