DllExport int __ stdcall SMPPInitialize(LPCTSTR lpszINIFileName);
在MSDN中有这样的:将 C 语言声明转换为 Visual Basic 声明C 语言数据类型|在Visual Basic 中声明为 |调用时使用的表达式 ATOM |ByVal variable As Integer | 结果为Integer类型的表达式 BOOL |ByVal variable As Long | 结果为 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 等。 (Windows句柄)| ByVal variable As Long |结果为 Long 类型的表达式 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 variable As| | Long |ByVal Nothing SHORT |ByVal variable As Integer |结果为 Integer 类型的表达式 VOID |Sub procedure |不可用 WORD |ByVal variable As Integer |结果为 Integer 类型的表达式 WPARAM |ByVal variable As Long | 结果为 Long 类型的表达式
to: zyl910(910:分儿,我来了!) holydiablo(鱼头) 我不能改VC的源码,我这里就只有一个Dll.除了在函数定议前加 _stdcall以外还有什么办法啊,只在VB端作改动。
这个问题在我刚用VC的时候就已经碰到了
ATOM |ByVal variable As Integer | 结果为Integer类型的表达式
BOOL |ByVal variable As Long | 结果为 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 等。
(Windows句柄)| ByVal variable As Long |结果为 Long 类型的表达式
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 variable As|
| Long |ByVal Nothing
SHORT |ByVal variable As Integer |结果为 Integer 类型的表达式
VOID |Sub procedure |不可用
WORD |ByVal variable As Integer |结果为 Integer 类型的表达式
WPARAM |ByVal variable As Long | 结果为 Long 类型的表达式
zyl910(910:分儿,我来了!)
holydiablo(鱼头) 我不能改VC的源码,我这里就只有一个Dll.除了在函数定议前加 _stdcall以外还有什么办法啊,只在VB端作改动。
只有_stdcall才能跨编程环境调用。