2 votes

Crystal Reports se charge en fonction de son humeur

J'ai une visionneuse de rapports Crystal sur Windows forms.

Le visualiseur de rapports est associé à un rapport. Je passe 24 paramètres par programme. Lorsque j'essaie d'exécuter le programme, parfois les rapports s'affichent et parfois le logiciel se bloque.

Je transmets toujours les mêmes données au rapport. Il n'y a pas d'erreur de compilation. Lorsque je fais du step-debbuging, le rapport se charge à chaque fois parfaitement et il n'y a pas de blocage.

Quelle peut être la raison de cette ouverture morose du rapport ? ??? ?

Éditer1 :

Lors du débogage des étapes, j'ai constaté que l'affectation de reportsource a CrystalReportViewer provoque l'arrêt du logiciel.

 goldBillReport = new GoldBill();
 crystalReportViewer1.ReportSource = goldBillReport; //Hangs after this !!
 SetGoldParameters();

Édition 2 : J'ai changé le scénario, je prends un simple formulaire Windows, j'y ajoute une visionneuse de rapports Crystal. Ensuite, je crée un rapport Crystal vierge.

J'écris maintenant les lignes suivantes dans l'événement de chargement de formulaire du formulaire Windows qui contient le visualiseur.

goldBillReport = new BillReport();
crystalReportViewer1.ReportSource = goldBillReport ;

Dans 80 % des cas, lorsque je charge le formulaire, il affiche le rapport vierge (comme demandé). Le reste du temps, il n'affiche rien et l'application se bloque. Pourquoi ?

Note : Mon application réelle est très vaste. Le problème est-il que le programme ne dispose pas de l'espace mémoire nécessaire pour ouvrir le rapport ? Si oui, existe-t-il un moyen de collecter les déchets ?

Merci d'avance

2voto

Barry Points 18913

Je vérifierais que vous vous débarrassez correctement de votre spectateur lorsque le formulaire est fermé.

Par ailleurs, la première fois que j'ai exécuté un rapport, j'ai rencontré un problème de lenteur extrême. La solution consistait à charger un rapport temporaire lors du démarrage de l'application (derrière un écran d'accueil). Cela permettait de s'assurer que les DLL de Crystal Report étaient entièrement chargées avant que l'utilisateur ne puisse générer un rapport. Une fois que j'ai fait cela, les rapports se sont chargés en quelques secondes à chaque fois.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X