Entwickler-Ecke

Sonstiges (.NET) - CrystalDecisions Fehler nach dem zweiten starten


reox - Mi 21.10.09 11:40
Titel: CrystalDecisions Fehler nach dem zweiten starten
Ich hab zwecks Drucken und Reports erstellen CrystalDecisions verwendet. Nun hab ich irgendwie ein Problem damit, denn wenn ich zum ersten Mal drucken will gehts problemlos, beim zweiten Mal hängt er sich voll auf und ich bekomm diese Fehlermeldung:

Quelltext
1:
2:
3:
4:
5:
6:
7:
CrystalDecisions.CrystalReports.Engine.InternalException: Error in File C:\Documents and Settings\bas8wi\My Documents\Visual Studio 2008\Projects\DokLenk\DokLenk\bin\Release\reporting\626_report.rpt.temp:
The request could not be submitted for background processing.
   bei .F(String   , EngineExceptionErrorID 
)
   bei .A(Int16 , Int32 )
   bei CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object value)
   bei DokLenk.MainForm.printThread() in C:\Documents and Settings\bas8wi\My Documents\Visual Studio 2008\Projects\DokLenk\DokLenk\MainForm.cs:Zeile 399.


Der Dazugehörige Thread den ich starte:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
        private void printThread()
        {
            try
            {
                ReportDocument rd = new ReportDocument();
                string tempName = "reporting/" + DateTime.Now.Millisecond + "_report.rpt.temp";
                File.Copy("reporting/report.rpt", tempName);
                rd.Load(tempName);
                DataView ds = (DataView)fileGrid.DataSource;
                rd.Database.Tables[0].SetDataSource(ds); // Das hier ist Zeile 399
                PrintForm pf = new PrintForm(rd);
                pf.ShowDialog();
                rd = null;
                pf = null;
                File.Delete(tempName);
                MessageBox.Show("done with the job...");
            }
            catch (ThreadAbortException)
            {
            }
            catch (Exception x)
            {
                Error.log(x);
            }
        }

Ich hab schon versucht das File zu kopieren und eine Temp Version anzulegen, das bringt aber gar nix. Ich hab das gefühl das irgendwo eine Instanz von irgendwas herumgeistert und es deshalb nicht geht. Daher setzt ich unten auch alles auf null, wobei das auch nix geholfen hat :c
Hat irgendjemand eine Ahnung woran das liegn kann? Ich beiß mir an dem Task jetzt schon seit längerem die Zähne aus...