We are having trouble adding more than one ChartMarkedZone object in a chart implemented in a Windows Server 2003 and therefore with IIS6, the messages from a error says something like "Attempted to read or write protected memory. This is an indication That Often other memory is corrupt. "or else "A generic error occurred in GDI +"
This problem does not occur in IIS7 but we can not force the client to update the version of Internet Information Services.
ReportPrueba.cs
namespace SmartWork.ReportsManagementControl.ReportsLogic
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using Telerik.Reporting;
using Telerik.Reporting.Drawing;
using Telerik.Reporting.Charting;
using System.Collections.Generic;
/// <summary>
/// Summary description for ReportPrueba.
/// </summary>
public partial class ReportPrueba : Telerik.Reporting.Report
{
public ReportPrueba()
{
//
// Required for telerik Reporting designer support
//
InitializeComponent();
chart_MesMinisterio.DataSource = null;
}
private void chart_MesMinisterio_NeedDataSource(object sender, EventArgs e)
{
List<PruebaObject> lstPrueba = new List<PruebaObject>();
lstPrueba.Add(new PruebaObject() { Codigo = 1, Dia = 1, Value = 24 });
lstPrueba.Add(new PruebaObject() { Codigo = 2, Dia = 5, Value = 48 });
lstPrueba.Add(new PruebaObject() { Codigo = 3, Dia = 10, Value = 32 });
chart_MesMinisterio.DataSource = lstPrueba;
chart_MesMinisterio.Series[0].DataLabelsColumn = "Value";
chart_MesMinisterio.Series[0].DataXColumn = "Dia";
chart_MesMinisterio.Series[0].DataYColumn = "Value";
chart_MesMinisterio.IntelligentLabelsEnabled = true;
chart_MesMinisterio.Series[0].Appearance.ShowLabelConnectors = true;
chart_MesMinisterio.Series[0].Appearance.LineSeriesAppearance.Width = 3;
chart_MesMinisterio.Series[0].Appearance.LineSeriesAppearance.Color = Color.LightSteelBlue;
chart_MesMinisterio.PlotArea.YAxis.AutoScale = false;
chart_MesMinisterio.PlotArea.YAxis.MinValue = 0;
chart_MesMinisterio.PlotArea.YAxis.MaxValue = 100;
chart_MesMinisterio.PlotArea.XAxis.AutoScale = false;
chart_MesMinisterio.PlotArea.XAxis.MinValue = 1;
chart_MesMinisterio.PlotArea.XAxis.MaxValue = 31;
chart_MesMinisterio.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 270;
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Bottom
= new Telerik.Reporting.Charting.Styles.Unit(14, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Top
= new Telerik.Reporting.Charting.Styles.Unit(10, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Left
= new Telerik.Reporting.Charting.Styles.Unit(8, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Right
= new Telerik.Reporting.Charting.Styles.Unit(5, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
ChartMarkedZone maxMin = new ChartMarkedZone();
maxMin.ValueStartY = 75;
maxMin.ValueEndY = 75;
maxMin.Label.TextBlock.Text = "Maximo: 75";
maxMin.Appearance.Border.Color = Color.Green;
maxMin.Appearance.Border.Width = 2;
chart_MesMinisterio.PlotArea.MarkedZones.Add(maxMin);
ChartMarkedZone avgMin = new ChartMarkedZone();
avgMin.ValueStartY = 50;
avgMin.ValueEndY = 50;
avgMin.Label.TextBlock.Text = "Promedio: 50";
avgMin.Appearance.Border.Color = Color.Red;
avgMin.Appearance.Border.Width = 2;
chart_MesMinisterio.PlotArea.MarkedZones.Add(avgMin);
}
}
public class PruebaObject
{
public int Codigo { get; set; }
public int Dia { get; set; }
public int Value { get; set; }
}
}
This problem does not occur in IIS7 but we can not force the client to update the version of Internet Information Services.
ReportPrueba.cs
namespace SmartWork.ReportsManagementControl.ReportsLogic
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using Telerik.Reporting;
using Telerik.Reporting.Drawing;
using Telerik.Reporting.Charting;
using System.Collections.Generic;
/// <summary>
/// Summary description for ReportPrueba.
/// </summary>
public partial class ReportPrueba : Telerik.Reporting.Report
{
public ReportPrueba()
{
//
// Required for telerik Reporting designer support
//
InitializeComponent();
chart_MesMinisterio.DataSource = null;
}
private void chart_MesMinisterio_NeedDataSource(object sender, EventArgs e)
{
List<PruebaObject> lstPrueba = new List<PruebaObject>();
lstPrueba.Add(new PruebaObject() { Codigo = 1, Dia = 1, Value = 24 });
lstPrueba.Add(new PruebaObject() { Codigo = 2, Dia = 5, Value = 48 });
lstPrueba.Add(new PruebaObject() { Codigo = 3, Dia = 10, Value = 32 });
chart_MesMinisterio.DataSource = lstPrueba;
chart_MesMinisterio.Series[0].DataLabelsColumn = "Value";
chart_MesMinisterio.Series[0].DataXColumn = "Dia";
chart_MesMinisterio.Series[0].DataYColumn = "Value";
chart_MesMinisterio.IntelligentLabelsEnabled = true;
chart_MesMinisterio.Series[0].Appearance.ShowLabelConnectors = true;
chart_MesMinisterio.Series[0].Appearance.LineSeriesAppearance.Width = 3;
chart_MesMinisterio.Series[0].Appearance.LineSeriesAppearance.Color = Color.LightSteelBlue;
chart_MesMinisterio.PlotArea.YAxis.AutoScale = false;
chart_MesMinisterio.PlotArea.YAxis.MinValue = 0;
chart_MesMinisterio.PlotArea.YAxis.MaxValue = 100;
chart_MesMinisterio.PlotArea.XAxis.AutoScale = false;
chart_MesMinisterio.PlotArea.XAxis.MinValue = 1;
chart_MesMinisterio.PlotArea.XAxis.MaxValue = 31;
chart_MesMinisterio.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 270;
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Bottom
= new Telerik.Reporting.Charting.Styles.Unit(14, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Top
= new Telerik.Reporting.Charting.Styles.Unit(10, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Left
= new Telerik.Reporting.Charting.Styles.Unit(8, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
chart_MesMinisterio.PlotArea.Appearance.Dimensions.Margins.Right
= new Telerik.Reporting.Charting.Styles.Unit(5, Telerik.Reporting.Charting.Styles.UnitType.Percentage);
ChartMarkedZone maxMin = new ChartMarkedZone();
maxMin.ValueStartY = 75;
maxMin.ValueEndY = 75;
maxMin.Label.TextBlock.Text = "Maximo: 75";
maxMin.Appearance.Border.Color = Color.Green;
maxMin.Appearance.Border.Width = 2;
chart_MesMinisterio.PlotArea.MarkedZones.Add(maxMin);
ChartMarkedZone avgMin = new ChartMarkedZone();
avgMin.ValueStartY = 50;
avgMin.ValueEndY = 50;
avgMin.Label.TextBlock.Text = "Promedio: 50";
avgMin.Appearance.Border.Color = Color.Red;
avgMin.Appearance.Border.Width = 2;
chart_MesMinisterio.PlotArea.MarkedZones.Add(avgMin);
}
}
public class PruebaObject
{
public int Codigo { get; set; }
public int Dia { get; set; }
public int Value { get; set; }
}
}