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 |
|