//constructor public CXLReport(Object opener, CXLReportConfig cfg, HttpContext httpContext, Excel.Application excelInst) { this.State = RemoteProcState.Redy; this.FOpener = opener; this.FRptDefinition = new CXLRDefinition(this, cfg); this.FHttpContext = httpContext; this.FDataSources = new XLRDataSources(this, cfg.dss); this.FExcelSrvIsOutter = (excelInst != null); this.FExcelSrv = new ExcelSrv(excelInst); this.FLastReportResultFile = this.FRptDefinition.GetNewTempFileName(); }
//destructor protected override void doOnDispose() { if (this.OnBeforeDispose != null) this.OnBeforeDispose(this); if (this.FRptDefinition != null) { this.FRptDefinition.Dispose(); this.FRptDefinition = null; } this.FHttpContext = null; if (this.FDataSources != null) { this.FDataSources.Dispose(); this.FDataSources = null; } if (this.FExcelSrvIsOutter && (this.FExcelSrv != null)) { this.FExcelSrv.Dispose(); this.FExcelSrv = null; } }