2009-09-30 163 views
0

我剛剛從ActiveReports 2.0升級到3.0。所有的rpx文件已被轉換爲* .vb文件。該項目的ActiveReports有這樣的類層次:ActiveReports升級錯誤

*的.vb與設計師 - > PrintBase.vb - > ActiveReport3

當我打開任何*的.vb文件,我得到這個錯誤:

的設計者不能顯示這個文件,因爲它裏面的任何類都不能設計。設計者檢查了文件中的以下類:xxx ---基類「PrintBase」無法加載。確保組件已被引用,並且所有項目都已建好。

調用堆棧: 在System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager經理) 在System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager經理) 在Microsoft.VisualStudio.Design.Serialization .CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) 在System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost主機)

然後我通過PrintBase.vb去。沒有編譯錯誤。然後我修改了*的.vb文件中的一個,以這樣的:

Hello.vb - > ActiveReport3

設計師的工作沒有任何問題。 PrintBase有相當多的代碼。爲了簡化調試,我創建了一個名爲BasePrint的新的.vb文件,該文件從ActiveReport3繼承。所以,層次是回:

Hello.vb - > BasePrint - > ActiveReport3

然後我看到了同樣的錯誤再次以上。根據我的調試,似乎AR3設計者不允許.vb文件從基類繼承。但我不太確定。順便說一下,ActiveReports項目是vb.net。 VS 2008項目解決方案下還有其他C#項目。 VB.NET項目和C#的混合有沒有什麼可以做的組織/升級過程?

謝謝。

回答

0

事實上,ActiveReports 3.x設計器中的升級實用程序不支持類式繼承。但是,升級完成後,您應該能夠將基類置於不良狀態(您描述的方式),並且設計者應該安全地忽略它。如果您仍然遇到問題,請嘗試關閉該項目,然後執行清理操作(刪除舊的PrintBase類的舊程序集)&關閉visual studio並重新打開以重新開始。

你可以找到關於下面的頁面從ActiveReports中2.x升級報告的ActiveReports 3.x的詳細信息:link text

然而,似乎你正在使用inheritince在這種情況下,分享一些實用方法,也許一些狀態(例如在課堂級別的字段中)。爲此,最好將報告直接從ActiveReport3繼承,並使用「BasePrint」作爲報告調用函數的一類實用工具類。通常,除了必須將方法調用的前綴與相應的BasePrint實例/變量名稱,它簡化了在描述的場景中處理ActiveReports設計器的過程。

但是,ActiveReports確實支持可視化繼承,它允許基礎報表與派生報表共享控件。有關如何在以下位置使用此功能的更多信息:http://www.datadynamics.com/Help/ARNET3/ar3tskInheritance.html。不過,我想強調的是,這是一種不同於繼承的風格,因此它可能不適用於你所需要的。

此外,您應該嘗試再次轉換,而無需使用C#和VB項目的組合解決方案。我不知道這是一個問題,但它並不是轉換器最常用的方式,可能會使事情變得複雜。

最後,您應該知道ActiveReports 6現在可用,您可能需要考慮嘗試使用該版本。

如果繼續有任何問題,請聯繫我們的支持團隊[email protected]或使用有很多的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