共用方式為


從 C++ 轉譯為 Visual Basic

使用 C++ 程式設計語言,開發人員可以直接存取儲存特定變數的記憶體。 記憶體指標提供此直接存取。 在 Visual Basic 中,會為您處理指標。 例如,在 C++ 中宣告為 int 指標的參數相當於在 Visual Basic 中宣告為 ByRefInteger 的參數。

在 Visual Basic 中宣告為 String 的參數會宣告為 C++ 中 BSTR 的指標。 在 C++ 中將字串指標設定為 NULL 相當於在 Visual Basic 中將字串設定為 vbNullString 常數。 將零長度字串 (“”) 傳遞至設計來接收 NULL 的函式無法運作,因為這樣會將指標傳遞至零長度字串,而不是零指標。

C++ 支援在舊版 Visual Basic 中沒有對等專案的數據容器,即結構和等位。 基於這個理由,COM 物件通常會包裝通常儲存在物件類別的結構和等位中的資訊。 不過,某些 COM 物件可能包含結構,導致物件方法或功能的部分無法存取 Visual Basic。

Visual Basic 不支援某些 C++ 資料類型,例如未簽署的類型和 HWND 類型。 接受或傳回這些數據類型的方法無法在 Visual Basic 中使用。

Visual Basic 使用與自動化相容的數據類型作為其內部數據類型。 因此,與自動化相容的 C++ 資料類型也與 Visual Basic 相容。 與自動化不相容的數據類型可能無法轉換成 Visual Basic。

下表列出 Visual Basic 及其 VARTYPE 對等專案所支援的數據類型。 VARTYPE 是列出自動化變體類型的列舉。

Visual Basic 資料類型 VARTYPE 對等專案
整數
16 位、帶正負號、VT_I2
Long
32 位、帶正負號、VT_I4
日期
VT_DATE
貨幣
VT_CY
Object
*VT_DISPATCH
String
VT_BSTR
布林值
VT_BOOL
貨幣
VT_DECIMAL
Single
VT_R4
Double
VT_R8
十進位
VT_DECIMAL
位元組
VT_DECIMAL
變數
VT_Variant

除非以關鍵詞 ByVal 加上標籤,否則 Visual Basic 中的所有參數都會以傳址方式傳遞(作為指標),而不是以傳值方式傳遞。

C++ 和 Visual Basic 在代表屬性的方式上稍有不同。 在 C++ 中,屬性會以一組存取子函式表示,一組會設定屬性值,另一個會擷取屬性值。 在 Visual Basic 中,屬性會以單一專案表示,可用來擷取或設定屬性值。

轉譯為 Visual Basic