Crystal Reports 2010 Alle Berichte werden nicht geladen, wenn der Bericht in WindowsXP in ein beliebiges Format exportiert wurde

StackOverflow https://stackoverflow.com/questions/5816782

Frage

Ich habe eine WPF -Abrechnungslösung, die mit ClickOnce für mehr als 500 Benutzer bereitgestellt wird. CrystAreports2010 wurde zur Berichterstattung verwendet. 85% der Benutzer haben WindowsXP auf ihren Maschinen installiert :(

Die Kristallberichte funktionieren in den WindowsXP-Maschinen in Ordnung, bis der Benutzer einen Bericht mit der integrierten Exporttaste im Crystal Reports Viewer exportiert. Lösung, bis er die Anwendung neu startet.

Export Button

Dies ist der Fehler beim Versuch, nach dem Export einen neuen Bericht zu öffnen:

The Error Message

Ich speichere die Berichte in meiner Lösung als externe Inhaltsressourcen außerhalb der Anwendung .exe.

var report = new ReportDocument();
report.Load(@"Reports\MyReport.rpt");

Ich habe dafür gesorgt, dass der Benutzer nach dem Schließen des Berichts zum Schließen und zur Entsendung des Berichtsdokumentobjekts keine Speicherlecks oder die maximale Anzahl offener Berichte überschreitet.

Wenn ich meine Implementierung so geändert habe, dass ich die Berichte in meiner Lösung als eingebettete Ressourcen speichere, ist das Problem gelöst. Dies ist jedoch keine Option, da die Berichte relativ groß sind (200 KB-450 KB), ist dies eine große DLL-Datei, die eine große DLL-Datei ist Dies wird über ClickOnce an die ClickOnce heruntergeladen, wenn wir eine neue Version veröffentlichen, die sich in jedem Bericht ändert!. Eine andere Variante besteht darin, jeden zu gruppieren, sagen wir vier Berichte in einer DLL und immer noch das gleiche Problem (1MB-2MB ist immer noch ein großes Stück). Da wir wissen, dass wir viele Berichte haben und eine häufige Änderungsanfrage für diese Berichte entsprechend Änderungen der Richtlinien unseres Kunden erhalten. Bitte helfen Sie!

War es hilfreich?

Lösung 3

Endlich fand ich die Lösung :) Das Problem war, dass beim Exportieren eines Kristallberichts mit der vom Crystal Report Viewer bereitgestellten Standard -Export -Taste die Exporttaste das aktuelle Arbeitsverzeichnis der Anwendung an den Exportstandort ändert !!! (Seltsames Verhalten !!) Und deshalb funktioniert die folgende Zeile nicht mehr:

report.Load(@"Reports\MyReport.rpt");

Also habe ich diese Zeile in Folgendes geändert:

report.Load(AppDomain.CurrentDomain.BaseDirectory + "\\" + @"Reports\MyReport.rpt");

Und es hat wie Magie funktioniert :)

Andere Tipps

Um dieses Problem zu lösen, müssen Sie die installierte .NET -Version im Client -Computer vom Client -Profil in die vollständige .NET -Version ändern.

Schließen und entsorgen Sie Ihre Berichtsdokumente, sobald Sie mit ihnen fertig sind?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top