2012-02-14 25 views
4

最近、Visual Studio 2010とSharpDevelopの両方で最新バージョンのCrystal Reportsをc#windowsアプリケーション(フォーム)で使用し始めました。私は、RPTファイルを開くことができるように、私はその後、ReportDocumentをを作成してSAPからのVisual Studio 2010用の最新のクリスタルのDLLをダウンロードし、手動で以下のCrystal Reports ReportDocumentを使用

using CrystalDecisions.CrystalReports; 
using CrystalDecisions.CrystalReports.Engine; 
using CrystalDecisions.ReportSource; 

への参照を作成しました:

ReportDocument rptDoc = new ReportDocument(); 

このすべてコンパイルされます。 rtpDocオブジェクトを使って何かをしようとすると問題が発生します。

rptDoc.Load(@"c:\DialLeadsByDistributor.rpt"); 

それはコンパイラがクラスオブジェクトだ実現していないかのようにIマウス可変超えることがCrystalDecisions.CrystalReports.Engine.ReportDocumentとして適切にそれを報告しますが、インテリセンスは私にどんな方法を示していないだけではなく、という事実にもかかわらず、ですかオブジェクトのプロパティは、私は私が困惑している次のコンパイラエラーを取得する:

無効なトークン「(」クラス、構造体、またはインターフェイスメンバー宣言Oとして、上記のステートメントを参照

でフィフリングライン...

誰もがこれにどのような光を当てることができますか? ReportDocumentクラスのメタデータを見ると、3つのLoadメソッドが含まれています。最初のものは、rptファイルパスである文字列です。この問題がVisual Studio 2010とSharpDevelopの両方で発生するという事実は少なくとも一貫していますが、私にとっては意味がありません。

+0

構文エラー?もっとコードを投稿してください...どこにrptDoc.Load()を入れましたか? – dotjoe

答えて

-1

@記号を削除してみてください。私は現在この同じアイデアの周りにプログラムを構築していますが、私はこの記号を含めておらず、問題はありません。

+2

文字列をリテラルとして使用するには、@記号が必要です。 Cでは\はエスケープ文字です。 – reckface

0

は、VS2010とsharpdevelop4の両方で動作します...このコードを試してみてください。どこか

using System; 
using System.Drawing; 
using System.Windows.Forms; 
using CrystalDecisions.CrystalReports; 
using CrystalDecisions.CrystalReports.Engine; 
using CrystalDecisions.ReportSource; 
using CrystalDecisions.Windows.Forms; 

namespace myapp 
{ 

public partial class tstfrm1 : Form 
{ 
    public tstfrm1() 
    { 

     InitializeComponent(); 

     ReportDocument rptDoc = new ReportDocument(); 
     rptDoc.Load(@"C:\CrystalReport1.rpt"); 
     /*If you have a datasource, link it like below*/ 
     //rptDoc.SetDataSource(dataset.Tables["tripsheet"]); 
     CrystalReportViewer crystalReportViewer1 = new CrystalReportViewer(); 
     crystalReportViewer1.ReportSource = rptDoc; 
     crystalReportViewer1.Refresh(); 
     this.Controls.Add(crystalReportViewer1); 
     crystalReportViewer1.Dock = DockStyle.Fill; 
    } 
} 

}