2011-11-20 14 views
-2

我想將大型(200K行)VB6項目轉換爲C#。我只想轉換表單設計,因爲我想用C#重寫所有實際的代碼。打破VB6項目成塊使用免費版本的Artinsoft

我想使用免費的Artinsoft轉換器,但這隻允許10K行的項目。我想我可以將VB6項目分解爲20個獨立的項目,然後使用Artinsoft生成C#.NET表單,然後將轉換後的表單重新導入到一個C#項目中。

這可行嗎?

編輯:這會工作嗎?潛在的問題是什麼?

+0

定義「可行」。什麼會使你不可行?這個問題是主觀的。 – Amy

+2

所以,你基本上是問我們如何/如果你能擊敗這個計劃的許可計劃?您如何看待有人問我們如何爲您的程序做同樣的事情? –

+0

@AndrewBarber:這不像我正在使用該程序來滿負荷運行。我只是想轉換表單設計。如果我從.frm文件中刪除所有代碼,這幾乎不會達到10000行。也許我應該這樣做...... – CJ7

回答

1

我會嘗試按照以下順序

1)寫自動測試用例至少爲主要業務運營

這會爲你節省很多的麻煩以後驗證結果。

2)重構你的VB(嘗試在單獨的類/ DLL中移出你的業務邏輯)。

3),你可以使用寫入在步驟1中

4)自動化測試案例驗證您重新分解現在你有一小塊一小塊,這也將幫助您創建的塊,那麼你可以使用Artinsoft。

5)您的新C#應用程序將很好地分層。

6)對新的應用程序,並在你的舊的應用程序在步驟1中創建運行測試,並比較結果,並不斷改進,除非它們匹配:)

1

我建議不要使用轉換器的用戶界面。它可能看起來微不足道,但有些功能本身並不存在於.NET中(控制數組沒有大包裝的包裝)。它創建的控件包裝器使用和維護都不好玩。

VB6端口不好;用戶界面或代碼。如果你要繼續走下去,有些事情可以提供幫助。

  1. 刪除所有未使用的形式和代碼
  2. 確保沒有控件數組,如果有,正確的相關代碼
  3. 得到所有邏輯包裹類
  4. 確保您不會調用/加載/引用形式直接和您正在使用的實例化對象
  5. 確保良好的封裝實踐在使用和良好的面向對象設計模式

我會認真重新考慮轉換。轉換後的代碼/用戶界面聽起來不錯,但是在我對VB6轉換的不良體驗中,存在很多問題,這是因爲VB6允許開發人員變得多麼糟糕,以及那些根本不存在的功能。

做你自己一個大忙......開始一個新項目,創建一個自定義控件庫,它繼承了你使用的標準控件,並且隨處使用它們。不喜歡Cliptext在C#和VB6中的掩碼文本框中的工作方式?擴展它或覆蓋它。希望所有的列表視圖都可以排序嗎?簡單,單點實施。在一年中發現企業需要對90%的文本框進行拼寫檢查?簡單。

相關問題