VC++ 与VB 数据类型对应关系
在做VC与vb程序间互相调用,需要注意两种语言不同编译器对数据类型的定义区别,此时两者数据类型的对应关系就显得十分的重要,对应关系以及声明方式如下所示。
VC++ | VB |
short | Integer |
int | Long |
long | Long |
UNIT | Long |
ULONG | Long |
WORD | DWORDLong |
WPARAM | LPARAMLong |
WMSG | UMSGLong |
HRESULT | Long |
BOOL | Boolean |
COLORREF | Long |
HWND,HDC,HBRUSH,HKEY, 等 等 | Long |
LPSTR | LPCSTRString |
LPWSTR,OLECHARBSTR | String |
LPTSTR | String |
VARIANT_BOOL | Boolean |
unsignedchar | Byte |
BYTE | Byte |
VARIANTVariant | Long |
| c 中的数据类型 | VB 中的声明 | 结果 | |
|
|
| ||
| ATOM | ByVal variable As Integer | 结果为Integer 类型的表达式 | |
| BOOL | ByVal variable As Boolean | 结果为 Long 类型的表达式 | |
| BYTE | ByVal variable As Byte | 结果为 Byte 类型的表达式 | |
| CHAR | ByVal variable As Byte | 结果为 Byte 类型的表达式 | |
| COLORREF | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| DWORD | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| HWND, HDC, HMENU | ByVal variable As Long | 结果为 Long 类型的表达式等Windows 句柄 | |
| INT, UINT | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| LONG | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| LPARAM | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| LPDWORD | variable As Long | 结果为 Long 类型的表达式 | |
| LPINT, LPUINT | variable As Long | 结果为 Long 类型的表达式 | |
| LPRECT | variable As type | 自定义类型的 任意变量 | |
| LPSTR, LPCSTR | ByVal variable As String | 结果为 String 类型的表达式 | |
| LPVOID | variable As Any 任何变量(在传递字符串的时候使用ByVal ) |
| |
| LPWORD | variable As Integer | 结果为Integer 类型的表达式 | |
| LRESULT | ByVal variable As Long | 结果为 Long 类型的表达式 | |
| NULL | As Any 或 ByVal Nothing 或 ByVal variable As Long ByVal 0& 或 VBNullString SHORT ByVal variable As Integer | 结果为Integer 类型的表达式 | |
| VOID | Sub procedure | 不可用 | |
| WORD | ByVal variable As Integer | 结果为Integer 类型的表达式 | |
| WPARAM | ByVal variable As Long |
|