moosetracker
asked on
Crystal.. Problem with the Export
i have this error.
Object reference not set to an instance of an object.
Three things irksome about this error..
1) All was working fine I tweeked stuff not at all involved with this module or code and have an issue.
3) you can see I instatited a new instence in the first code line of the "try"
2) I could understand if this was a message at the first use of the field.. But it is not.. I load it, add parameter info to it.. Then it blows at the last line.. crReportDocument.Export();
Object reference not set to an instance of an object.
Three things irksome about this error..
1) All was working fine I tweeked stuff not at all involved with this module or code and have an issue.
3) you can see I instatited a new instence in the first code line of the "try"
2) I could understand if this was a message at the first use of the field.. But it is not.. I load it, add parameter info to it.. Then it blows at the last line.. crReportDocument.Export();
public void CreateEnglishPdf(string ReportPathAndName, string PDFPathAndName, string UnitType,string UnitNo,
string Name_SP_Table, DataSet ds,string rptType)
{
this.Name_SP_Table = Name_SP_Table;
this.UnitType = UnitType;
this.UnitNo = UnitNo;
//Call the report from its stored directory
try
{
//setStoredProcedure(Name_SP_Table);
//Reportdataset = ds;
//setDataset(UnitType,UnitNo);
crReportDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
crReportDocument.Load(ReportPathAndName);
//Apply logon information to the main report and all sub reports
setLogon();
//UnitType
ParameterValues ParmValue = new ParameterValues();
ParameterDiscreteValue ParamDiscreteValue = new ParameterDiscreteValue();
ParamDiscreteValue.Value = UnitType;
ParmValue.Add(ParamDiscreteValue);
crReportDocument.DataDefinition.ParameterFields["@UnitType"].ApplyCurrentValues(ParmValue);
//crReportDocument.SetParameterValue("@UnitType", UnitType);
//UnitNo
ParameterValues ParmValue2 = new ParameterValues();
ParameterDiscreteValue ParamDiscreteValue2 = new ParameterDiscreteValue();
ParamDiscreteValue2.Value = UnitNo;
ParmValue2.Add(ParamDiscreteValue2);
crReportDocument.DataDefinition.ParameterFields["@UnitNo"].ApplyCurrentValues(ParmValue2);
//crReportDocument.SetParameterValue("@UnitNo", UnitNo);
crDiskFileDestinationOptions = new DiskFileDestinationOptions();
crDiskFileDestinationOptions.DiskFileName = PDFPathAndName;
crExportOptions = crReportDocument.ExportOptions;
crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
if (rptType == "PDF")
{
crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
}
else if (rptType == "doc")
{
crExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
}
crReportDocument.Export();
}
catch (Exception)
{
throw;
}
finally
{
crReportDocument.Close();
crReportDocument.Dispose();
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I altered the Stored Procedure that a CR was loading from.. this caused I don't know what, but the end of the SP had a Select statement that defined the Fields of the CR.. When I tested the SP in SQL all looked good, Select statement created the output. But CR no longer liked it. I went in and said update the Datasource, CR says "Datasource updated" no problem.. But, the table is now a no field table (which it doesn't even tell me I lost fields I ame using while updating..) Just when you run it blows up, but not with a recognizable error..
Could never fix the SP and have the modifications I wanted (which involved no change to field layout, but more update queries to filter the data).. So I pushed the results to a table, and had crystal link to the table.