易截截图软件、单文件、免安装、纯绿色、仅160KB

请教:VB调用VC dll 报错 - .NET技术 / VB.NET

VC中的导出的函数是这样的:

extern "C" __declspec(dllexport)
HRESULT Connect(LPCSTR IpAddr, CHAR* pcUserName = NULL, CHAR* pcPassword = NULL)//返回0表示连接成功,非0则失败
{
  ...
}

我在VB中声明如下:

Declare Function Connect Lib "C:\example.dll" (ByVal IpAddr As String, ByVal UserName As String, ByVal Passwd As String) As Integer

同时,我定义

Const NULL = 0

然后调用:

Dim result As Integer

result = Connect("138.139.0.230", NULL, NULL)

If result <> 0 Then

  MsgBox("error_connect")

  Return

End If

结果总是报错,请问哪里不对呢?


Const NULL = Nothing

报错信息是什么?

看下:
result = Connect("138.139.0.230", nothing, nothing)


result = Connect("138.139.0.230", String.Empty, String.Empty)?

用nothing试过了,还是不行,报错就是说 result 不等于0

进入到 MsgBox("error_connect")


String.Empty也试过了,返回值也非0。

把后两个参数的ByVal改成ByRef也不行。。。

result = Connect("138.139.0.230", NULL, NULL)
-----------
你看一下,它返回的不是0,返回的具体是个什么东西?调试一下或者直接吧结果MsgBox出来

返回的就是一个负值:-1071579135

我用VC写的程序调用这个Connect函数:

HRESULT result


相关问答:

为什么用VB改变不了工具栏按扭的宽度 - VB / 控件

为什么工具栏按扭的宽度改变不了,在属性里改了又变成原来的数值了

大胡子真厉害,回答基本都是爆料级的
大胡子升级真快啊,这才几天就5条短裤外加月排名第一了
想想我这5个短裤混了差不多8年才得到的。

回复 ......

vb超简单form.show的问题 - VB / 非技术类

为什么我用form.show和form.hide多次连接了两个窗口只能互换链接两次啊?
代码看看
照道理form.show 没次数限定的吧

我也快疯了。
楼主知道怎么发贴么?

引用
我也快疯了。
楼主知道怎么发贴么?
楼主也 ......

vb - VB / 基础类

在vb中如何读取Word内容(包含表格,图片,等)
竟然不是zero。

不知道怎么实现的不要说话

这个只能读文本,
VB code:
Private Sub Command1_Click()
Dim WordApp As Object
Set WordApp = CreateObject(& ......

vb 中 - VB / 基础类

dim a as string,b as string,c as string
a="工程编号,单位工程名称,分部工程编号"
b="单位工程名称"
c="单位"
怎么才能判断出a字符串中存在b字符串,而不存在c字符串

看看i ......

中山的VB程序员进来看一下 - VB / 非技术类

刚建了一个群:中山VB编程(105787219)
有在中山及中山周边的程序员请加入.大家一起探讨问题.合作项目.
尽管俺不是中山的,也进来蹭分……

佛山的行吗,广州的行吗?

友情支持
回复内容太短了! 

帮顶 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号