升級前的考量
更新:2007 年 11 月
Visual Basic 2008 表示從舊版 Visual Basic 進行的主要轉換。由於它是利用 .NET Framework 的基礎來設計,因此許多與先前版本的相容性已不復存在。
注意事項: |
---|
Visual Basic 2008 和 Visual Basic 6.0 可以安裝在同一部電腦並同時執行。以 Visual Basic 2008 和 Visual Basic 6.0 撰寫的應用程式可以在相同的電腦上安裝及執行。以 Visual Basic 2008 撰寫的元件,可以和以舊版的 Visual Basic 及其他語言撰寫的 COM 元件互通。 |
- 在許多情況下,您會希望將 Visual Basic 6.0 應用程式升級為 Visual Basic 2008,這樣當您繼續開發時,才可以利用 .NET Framework 的優點。但是,在某些情況下您會希望繼續以 Visual Basic 6.0 開發而不升級。決定是否升級應用程式的因素包含了 Visual Basic 2008 不支援的功能,以及因為不相容和架構性考量所需要之重新作業量的大小。
不支援的功能
Visual Basic 2008 已不再支援下列 Visual Basic 6.0 的功能。如需詳細資訊,請參閱備妥要升級的 Visual Basic 6.0 應用程式。
OLE 容器控制項:在 Visual Basic 2008 中沒有對等用法。依賴這個控制項的應用程式應繼續使用 Visual Basic 6.0。
動態資料交換 (DDE):不再支援 DDE 方法。依賴 DDE 的應用程式應修該改為使用其他的應用程式間通訊方法,或繼續使用 Visual Basic 6.0。
DAO 或遠端資料物件 (RDO) 資料繫結 (Data Binding):Visual Basic 2008 不支援將資料繫結至 DAO 或 RDO 資料來源。Data 控制項及 RemoteData 控制項沒有對等用法。只能使用程式碼存取 DAO 和 RDO。依賴 DAO 或 RDO 資料繫結的應用程式應該升級為使用 ADO,或繼續使用 Visual Basic 6.0。
Visual Basic 5.0 控制項:Visual Basic 6.0 中包含 Visual Basic 5.0 版的 Windows 通用控制項和資料繫結方格控制項。這些控制項和 Visual Basic 2008 不相容。依賴這些控制項的應用程式應該升級為使用 6.0 版,或繼續使用 Visual Basic 6.0。
DHTML 應用程式:在 Visual Basic 2008 中沒有對等用法。不過,DHTML 應用程式可以和 Visual Basic 2008 技術整合。
ActiveX 文件:在 Visual Basic 2008 中沒有對等用法。不過,DHTML 應用程式可以和 Visual Basic 2008 技術整合。ActiveX 文件應該重寫為使用者控制項 (User Control),或繼續使用 Visual Basic 6.0。
屬性頁:在 Visual Basic 2008 中沒有對等用法。如果您的應用程式需要使用大量的屬性頁,則應該繼續使用 Visual Basic 6.0。
決定所需的重新作業量
由於 Visual Basic 6.0 和 Visual Basic 2008 間的許多差異,大多數的應用程式都需要針對無法直接對應或不相容的部分進行片面重新作業。所需的重新作業量需視一些因素而定,包含應用程式類型、功能和所使用的語言建構。
決定所需重新作業量最簡單的方法是執行升級精靈,並檢視升級報告中的問題清單。應用程式升級後,會建立一個新的複本;原來的應用程式並不會被修改。如果在檢視報告後,您決定不升級應用程式,則只需刪除新的專案,並在 Visual Basic 6.0 中繼續開發即可。
下列是其他可能會影響升級決策的因素。
單層式資料庫應用程式:由於新版本不支援 DAO 資料繫結,所以,使用控制項直接與本機資料庫 (例如以 Microsoft Access 建立的資料庫) 繫結的簡單應用程式可能會需要大量的重新作業。
Visual Basic 增益集 (Add-In):由於 Visual Basic 2008 使用 Visual Studio 整合式開發環境,所以其擴充性物件模型與 Visual Basic 6.0 所用的有很大的差異。增益集將需要相當大的重新作業量。
遊戲:依賴 Visual Basic 6.0 特定效能特性的應用程式 (例如弧型遊戲) 必須重新作業,因為 Visual Basic 2008 具有不同的效能特性。
圖形:不支援表單的圖形方法或形狀和直線控制項。大量使用這些功能在表單中進行繪圖的應用程式將需要相當多的重新作業。
拖放功能:拖放功能的模型有非常大的差異,任何執行拖放動作的程式碼都必須重寫。
Variant:當應用程式升級時,Variant 資料型別將轉換為 Object。如果應用程式中非常依賴 Variant,這種轉換可能會對應用程式行為引起某些無法預測的改變。例如,在 Visual Basic 6.0 中,運算式 IsObject(Variant) 會評估為 false。而該運算式在 Visual Basic 2008 中則變成 IsObject(Object),這個運算式會評估為 true。
Windows API:由於語言改變,許多 Windows API 呼叫都必須修改或取代成 .NET Framework 功能。