1. 증상
XChart사용 시 XChart.AddSeries(…) Method로 Series를 추가 하여 Series의Property및Method 사용 후
XChart.RemoveAllSeries() Method 호출을 반복 하게 되면 간헐적으로 IE가 종료되는 문제가 발생한다.
에러의 내용은 다양하며, 아무런 메시지 없이 IE가 닫힌다던가 또는 "Access violation at address 5044410f in
module 'TeeChart50??.ocx'. Read of address 6843555a"와 유사한 에러가 발생하기도 합니다.
2. 해결법
XChart.RemoveAllSeries() Method를 호출하기 전에 GarbageCollector에서 해제하지 않은 Resource들을 강제적으로 해제시켜 주는 과정이 필요하다. 그러기 위해서는 JavaScript에서 제공해 주는 CollectGarbage() 라는 함수를 호출 하여 GarbageCollector를 강제적으로 작동 시켜 Resource를 해제 시켜주면 되고 해당 문제를 해결할 수 있다.
ex)
<Script Language=”JavaScript>
Function test()
{
CollectGarbage(); // Garbage Collector를 강제로 동작 시킨다.
XChart.RemoveAllSeries();
XChart.AddSeries(0);
XChart.Series(0).DataID="Tb_DataSet";
XChart.Series(0).XValueColumn="X";
XChart.Series(0).YValueColumn="Y";
XChart.Series(0).RadiusColumn="Radius";
XChart.Series(0).LabelColumn="Label";
XChart.Series(0).ColorColumn="Color";
XChart.Reset();
}
</Script>
첨부는 오류가 발생할때 나타나는 화면의 증상... 불특정하게 IE가 죽는다면 확인하여 해당 소스를
추가해 주는것이 좋다.
No comments:
Post a Comment