Solved

Crystal.. Problem with the Export

Posted on 2010-08-14
2
205 Views
Last Modified: 2013-11-26
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();

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();
        }

Open in new window

0
Comment
Question by:moosetracker
2 Comments
 
LVL 16

Accepted Solution

by:
Vikram Singh Saini earned 500 total points
ID: 33439983
Hi,

I have some questions about your problem:

(1) In which line exception raised?

(2) Are you sure string ReportPathAndName is not null?

(3) "I tweeked stuff not  at all involved with this module" So what is that stuff?

Regards,
V.S.Saini
0
 
LVL 1

Author Closing Comment

by:moosetracker
ID: 33440547
Found it, but thanks for the attempt.. And it was in the tweeking.
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.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

774 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question