Muy buenas. Estoy intentando acceder a las propiedades de un objeto de un reporte de Crystal Reports para modificarlas y obtengo errores.
Código:
Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument
rpt.Load(Server.MapPath("../Reportes/reporte.rpt"), CrystalDecisions.[Shared].OpenReportMethod.OpenReportByTempCopy)
....
Dim txt As CrystalDecisions.CrystalReports.Engine.TextObject
txt = rpt.ReportDefinition.ReportObjects("Text13")
Response.Write(txt.Text) 'Sin error
txt.Text = "texto a mostrar" 'Con error
Obtengo sin problemas el texto de Text13, sin embargo no lo puedo cambiar obteniendo un error:
Referencia a objeto no establecida como instancia de un objeto.
He estado leyendo mucha documentación y siempre que se muestra cómo acceder a los objetos de un reporte se hace creando un objeto a partir de la clase del reporte, es decir:
Suponiendo que reporte.rpt tiene la clase Reporte. Yo creo primero un objeto ReportDocument y luego puedo elegir distintos reportes en función de las necesidades, por lo que no puedo saber de antemano la clase del reporte. Es más, algunos reportes están hechos en proyectos distintos por lo que ni siquiera creo dependencias en el sitio web.
¿Alguna idea?
Gracias y un saludo.