簡體   English   中英

從Visual Basic 6使用.NET類的最佳方法是什么?

[英]What's the best way to use .NET classes from Visual Basic 6?

在我的工作場所,我堅持使用Visual Basic 6,但在閱讀了“ 我如何使用vbscript對數組進行排序? ”的答案后, 我對此抱有希望,至少有一些缺少的VB6功能可以通過.NET功能進行補充。 (大多數不同種類的藏品)

看來,至少有一些.NET類可用於編寫腳本,可以從VB6到CreateObject 但是我得到了一種與眾不同的感覺,所以......

  • 我可能遇到任何陷阱嗎? (除了必須安裝.NET)
  • 是否所有.NET類都可通過CreateObject
  • 有沒有辦法將這些類導入我的VB6項目,所以我可以擁有IntelliSense?
  • 您對此方法有任何一般性建議嗎?

MSDN上的VB Fusion開發人員中心提供了大量信息。 特別感興趣的是使用Visual Basic 6中的.NET Framework類庫我可以在5000個類中感興趣嗎?

您需要在.NET中編寫一些代碼才能使用文章中描述的技術。 如果您還沒有Visual Studio 2008,則可以免費下載Visual Basic 2008 Express

從我的公司CAD / CAM應用程序的轉換工作。 我不建議自下而上,即替換核心DLL或通過.NET添加核心功能。

從頂部開始,我有更好的結果,從替換表單開始,然后進入Core DLL。

最大的障礙是提供合適的打印機和圖形界面。 但微軟發布的打印機兼容性套件解決了這兩個問題。 幸運的是,當.NET只是一個閃光點時,我將所有以VB6為中心的圖形和打印調用放在一個界面后面。

再次首先用調用COMM核心庫的.NET程序集替換格式。

如果你的邏輯與表單交織在一起,我強烈建議將它分成一個新的COM DLL IN VISUAL BASIC SIX。 讓新DLL通過接口與Form進行交互。 該表單將是一個瘦shell,將事件傳遞給DLL並執行各種操作(繪圖,重新排列等)。

如果你無法避免使用.NET程序集來提供新功能,那么就創建一系列定義良好且有限的接口來控制.NET端和VB6 / COM端之間的交互。

例如,我們希望將我們行業的辦公室/工作管理軟件添加到我們銷售的軟件系列中。 我們決定使用.NET框架實現。 它必須與我們的CAD / CAM軟件進行交互,因此我們創建了一系列接口,每個接口都可以提取所需信息或觸發彼此的操作。

最后,如果.NET類是實現COM接口,那么最重要的是你需要確保必須聲明屬於COM屬性的任何參數ByVal或.NET將無法實現該屬性並且無法實現接口。 這包括Let或Set的value參數

也許是有幫助的:

通過使用可用信息,在MS .NET mscorlib.dll中找到的許多類都已在Visual Basic 6中重現。這不是CLI運行時的實現,只是mscorlib.dll庫中的一些unitlity類。文件。

您應該只使用interop作為在系統之間推送數據的機制 - 而不是核心邏輯代碼; 所有編組等的性能影響都會太大。 我建議你看看在VS2008等中使用最近的VB變種。這是一個很大的轉變,但如果你有能力做出改變,你就不會后悔。

就個人而言,當我從VB6遷移到C#時,我決定必須基於本地環境等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM