2017-02-05 17 views
1

私のプロジェクトのルートフォルダにcrystalreportviewerのフォームがあり、Crystal Reportsは 'Reports'フォルダ内にあります。 crystalreprotを読み込もうとするとエラーが表示されます。ここに私のコードは...Windowsアプリケーションの他のフォルダにあるCrystal Reportパスを設定する方法

ReportDocument rptDoc = new ReportDocument(); 
      ds = new InstallationReport(); 
      ds = PrintInstallationReport(); 
      ds.Tables[0].Merge(ds.Tables[0]);    
      rptDoc.Load(@"F:\vs10\Windows\RapidDiagnostic\RapidDiagnostic\Reports\InstallationReport.rpt"); 
      //rptDoc.Load(Application.StartupPath + "\\Reports\\InstallationReport.rpt"); 
      rptDoc.SetDataSource(ds.Tables[0]); 
      crystalReportViewer1.ReportSource = rptDoc; 
      crystalReportViewer1.Refresh(); 

これは次のエラーを示しています。 A document processed by the JRC engine cannot be opened in the C++ stack

誰でも教えてください。

+0

もう少しコードを投稿できますか?たとえば、rptDocをどのように初期化するかなどです。また、エラーメッセージを提供できる場合は、参考にしてください。 –

+0

私はそのbin/debug/report実行ファイルがプロジェクトルートではなく実行中であると考えています – GreatJobBob

+0

こんにちは@MikaelKoskinen私は私の質問を更新しました。 –

答えて

1

プロジェクトディレクトリにレポートのパスを変更してください:

このよう==== >>>>

APPPATH = Environment.CurrentDirectory + "Sample.rpt"; 
CRPT.Load(APPPATH); 

> =必ずレポートプロパティは=>出力ディレクトリにコピーしてくださいコピーする場合

プロジェクトを再構築して実行してください。

リビルドが完了したら、プロジェクト内のbin => DebugフォルダにCrystal Reportファイルがあります。

詳細はlinkを参照してください。

+0

それは働きました......ありがとう。 –

+0

こんにちは@reds .....セットアップファイルを作ってインストールしたときにうまくいきました。同じエラーが再び発生しました。 –

+0

どのようなエラーが出ますか? –

関連する問題