0

ActiveReports 2.0 から 3.0 にアップグレードしました。すべての rpx ファイルは *.vb ファイルに変換されています。ActiveReports プロジェクトには、次のクラス階層があります。

*.vb with designer -> PrintBase.vb -> ActiveReport3

*.vb ファイルを開くと、次のエラーが発生しました。

このファイル内のクラスを設計できないため、デザイナーを表示できませんでした。デザイナーは、ファイル内の次のクラスを検査しました: xxx --- 基本クラス 'PrintBase' をロードできませんでした。アセンブリが参照され、すべてのプロジェクトがビルドされていることを確認してください。

コール スタック: Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad( System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad (IDesignerLoaderHost ホスト) の IDesignerSerializationManager serializationManager)

次に、PrintBase.vb を調べました。コンパイルエラーはありませんでした。次に、*.vb ファイルの 1 つを次のように変更しました。

Hello.vb -> ActiveReport3

デザイナーは問題なく動作しました。PrintBase にはかなりの量のコードがあります。デバッグを簡単にするために、ActiveReport3 を継承する BasePrint という名前の新しい .vb ファイルを作成しました。したがって、階層は次のようになります。

Hello.vb -> BasePrint -> ActiveReport3

その後、上記の同じエラーが再び表示されました。私のデバッグによると、AR3 デザイナーは .vb ファイルが基本クラスから継承することを許可していないようです。しかし、よくわかりません。ところで、ActiveReports プロジェクトは vb.net です。VS 2008 プロジェクト ソリューションの下に他の C# プロジェクトがあります。VB.NET プロジェクトと C# の混合は、移行/アップグレード プロセスに何か関係がありますか?

ありがとう。

4

1 に答える 1

0

実際、クラス スタイルの継承は、ActiveReports 3.x デザイナのアップグレード ユーティリティではサポートされていませんでした。ただし、アップグレードが完了したら、基本クラスを不良にすることができ (説明した方法で)、デザイナーは安全に無視する必要があります。それでも問題が解決しない場合は、プロジェクトを閉じて、クリーンアップ (古い PrintBase クラスを参照している可能性のある古いアセンブリを削除) を行い、Visual Studio を閉じてからもう一度開き直して、最初からやり直してください。

レポートを ActiveReports 2.x から ActiveReports 3.x にアップグレードする方法の詳細については、次のページを参照してください:リンク テキスト

ただし、この場合、いくつかのユーティリティメソッドとおそらくいくつかの状態を共有するために継承を使用しているようです(たとえば、クラスレベルのフィールドで)。このためには、レポートが ActiveReport3 から直接継承され、レポートが関数を呼び出す一種のユーティリティ クラスとして「BasePrint」を使用するのが最適です。通常、これには、メソッド呼び出しの前に名前を付ける必要があること以外に欠点はありません。対応する BasePrint インスタンス/変数名と、説明したシナリオでの ActiveReports デザイナーの取り扱いが簡素化されます。

ただし、ActiveReports は、基本レポートが派生レポートとコントロールを共有できるようにする視覚的な継承をサポートしています。この機能の使用方法の詳細については、http ://www.datadynamics.com/Help/ARNET3/ar3tskInheritance.html を参照してください。ただし、これはあなたが使用している継承のスタイルとは異なるため、必要なものには適用できない可能性があることを強調したいと思います。

また、C# プロジェクトと VB プロジェクトを組み合わせたソリューションを持たずに、再度変換を試みる必要があります。これが問題かどうかはわかりませんが、コンバーターが最も一般的に使用される方法ではないことは確かであり、事態を複雑にしている可能性があります。

最後に、ActiveReports 6 が利用可能になったことに注意してください。そのバージョンを試してみることを検討してください。

引き続き問題が発生する場合は、support@grapecity.us.com で当社のサポート チームに連絡するか、次のリンクで多くの ActiveReports の専門家が毎日監視している公開フォームを使用してください。

http://www.datadynamics.com/forums/73/ShowForum.aspx - ActiveReports 3 フォーラム http://www.datadynamics.com/forums/82/ShowForum.aspx - ActiveReports 6 フォーラム

Scott Willeke
GrapeCity / Data Dynamics
于 2009-09-30T20:46:08.077 に答える