私はWindowsフォームアプリケーションの初心者です。これは私のオフィスでの最初のアプリケーションです。私のオフィスの管理者は私にソースコードを教えてくれます。しかし、彼らはそれについて何も知りません。
これらのコードは、Visual Studio 12(64ビット)で実行します。すべてが実行されていますが、CrystalReportが機能していません。エラーをスローします。
エラーは:
タイプ 'CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass'のCOMオブジェクトをインターフェイスタイプ 'CrystalDecisions.ReportAppServer.Controllers.ISCRReportSource'にキャストできません。 IID '{98CDE168-C1BF-4179-BE4C-F2CFA7CB8398}'のインターフェイスのCOMコンポーネントに対するQueryInterface呼び出しが、次のエラーのために失敗したため、この操作は失敗しました:そのようなインターフェイスはサポートされていません(HRESULTからの例外:0x80004002(E_NOINTERFACE)) 。
これがスクリーンショットです:
コードは次のとおりです。
ReportDAL rDal = new ReportDAL();
receipt r = new receipt();
DataTable dt = rDal.GetInvoiceHeader(vId);
//string ww = GetInvoiceHeader(vId);
r.Database.Tables["ReceiptDetails"].SetDataSource(rDal.GetInvoiceDetails(vId));
r.Database.Tables["ReceiptHeader"].SetDataSource(rDal.GetInvoiceHeader(vId));
r.SetParameterValue("pReportDeliveryTime", GlobalData.reportDeliveryTime);
crystalReportViewer1.ReportSource = r;
誰かが私に精巧に解決策を与えることができますか?
ランタイムバージョンの低いCrystalレポートをクライアントコンピューターにインストールしてください。その後、正常に動作します。現在vs2012crランタイムを使用しているように、2008年のランタイムを使用すると正常に動作します。
私は同じ問題を抱えていますが、今はより低いバージョンに変更しました、そしてそれは私にとってうまくいきます。