请教: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中如何读取Word内容(包含表格,图片,等)
竟然不是zero。
不知道怎么实现的不要说话
这个只能读文本,
VB code:
Private Sub Command1_Click()
Dim WordApp As Object
Set WordApp = CreateObject(& ......
dim a as string,b as string,c as string
a="工程编号,单位工程名称,分部工程编号"
b="单位工程名称"
c="单位"
怎么才能判断出a字符串中存在b字符串,而不存在c字符串
看看i ......
vb WebBrowser 小问题,请教:
WebBrowser里的网址跳转后,怎么取得跳转后的页面的URL地址
顶下顶下
引用
BeforeNavigate2
好像没有这个吧 vb6.0
BeforeNavigate2
这个可以有,呵呵。
......
我想用VB做一个OCX(纯菜鸟,临时需要用VB做点东西,特来请教),A用户(IP:192.168.0.1)与B用户(IP:192.168.0.2)进行点对点的发送接收消息
要求采用OCX方式,比如A用户知道B用户IP,我直接传参(B的IP)至OCX ......
谁能帮我把下面这些代码改成VB形式的,多谢了,急用~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[],float g ......