TempChart

TeeChart for Microsoft Visual Studio .NET, Xamarin Studio (Android, iOS & Forms) & Monodevelop.
Post Reply
Hermes
Newbie
Newbie
Posts: 54
Joined: Tue Feb 04, 2003 5:00 am
Location: Montevideo, Uruguay

TempChart

Post by Hermes » Wed Dec 22, 2004 5:27 pm

Hola, instalé una versión de evaluación y tengo el siguiente problema:
estoy guardando el chart en una variable de sesión pero al traerlo me da el siguiente error:

El objeto debe implementar IConvertible.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.InvalidCastException: El objeto debe implementar IConvertible.

Error de código fuente:


Línea 99: tmpChart.Position = 0;
Línea 100: //import saved Chart
Línea 101: WebChart1.Chart.Import.Template.Load(tmpChart);
Línea 102: }
Línea 103: #endregion



Archivo de origen: c:\inetpub\wwwroot\pyramidnaveg8\navegacion.aspx.cs Línea: 101

Seguimiento de la pila:


[InvalidCastException: El objeto debe implementar IConvertible.]
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +122
System.Convert.ChangeType(Object value, Type conversionType) +57
Steema.TeeChart.Import.Imports.DeserializeFrom(SerializationInfo info, StreamingContext context)
Steema.TeeChart.Chart..ctor(SerializationInfo info, StreamingContext context)

[TargetInvocationException: Se inició una excepción en el destino de la invocación.]
System.Reflection.RuntimeConstructorInfo.SerializationInvoke(Object target, SerializationInfo info, StreamingContext context) +0
System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context) +149
System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder) +95
System.Runtime.Serialization.ObjectManager.DoFixups() +170
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage methodCallMessage) +248
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage) +190
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) +11
Steema.TeeChart.Import.TemplateImport.Load(Stream stream)
Navegador.Navegacion.TraerGrafico() in c:\inetpub\wwwroot\pyramidnaveg8\navegacion.aspx.cs:101
Navegador.Navegacion.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\pyramidnaveg8\navegacion.aspx.cs:57
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()






--------------------------------------------------------------------------------

Información de versión: Versión de Microsoft .NET Framework:1.0.3705.0; Versión de ASP.NET:1.0.3705.0


donde

private void GuardarGrafico()

{

MemoryStream tmpChart = new MemoryStream();

//export Chart to a MemoryStream template

WebChart1.Chart.Export.Template.Save(tmpChart);

//save template to a Session variable

Session.Add("WC1", tmpChart);

}

private void TraerGrafico()

{

MemoryStream tmpChart = new MemoryStream();

//retrieve the session stored Chart

tmpChart = (MemoryStream)Session["WC1"];

//set the Stream position to 0 as the last read/write

//will have moved the position to the end of the stream

tmpChart.Position = 0;

//import saved Chart

WebChart1.Chart.Import.Template.Load(tmpChart);

}

además

public class GetChart : System.Web.UI.Page

{

private void Page_Load(object sender, System.EventArgs e)

{

// *************************************************************

// Code to retrieve Session saved streamed Charts to a WebForm.

// This code should be included if the WebChart 'UseStreams' property is set to True.

// *************************************************************

string chartName=Request.QueryString["Chart"];

if (Session[chartName]!=null)

{

MemoryStream chartStream = new MemoryStream();

chartStream=((MemoryStream)Session[chartName]);

Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);

chartStream.Close();

Session.Remove(chartName);

}

}

Conclusión: he puesto el código que se indica en la ayuda, cambiado la propiedad TempChart en Session y no he logrado que funcione.



gracias

Hermes
Newbie
Newbie
Posts: 54
Joined: Tue Feb 04, 2003 5:00 am
Location: Montevideo, Uruguay

Post by Hermes » Thu Dec 23, 2004 12:34 pm

El problema se da en XP pro español, VS2002 español, NetFramework 1.0 español.
Al instalar el service pack 3 del Net Framework 1.0 español se solucionó.

Pep
Site Admin
Site Admin
Posts: 3303
Joined: Fri Nov 14, 2003 5:00 am
Contact:

Post by Pep » Fri Dec 24, 2004 10:54 am

Hola Hermes,

ok, gracias por el aviso :wink:

Post Reply