Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从VB调用非托管DLL_Vb.net_Visual Studio_Unmanaged - Fatal编程技术网

Vb.net 从VB调用非托管DLL

Vb.net 从VB调用非托管DLL,vb.net,visual-studio,unmanaged,Vb.net,Visual Studio,Unmanaged,在VB.NET中,我很难找到对非托管DLL进行函数调用的语法。有人熟悉这个吗 让我们假设在非托管DLL“Connector.DLL”中有一个函数“Connected”。我想通过创建对该函数的抽象函数调用来调用该函数 我看到一些代码看起来像 [DllImport("Connector.DLL")] Public Shared Function Connect(ByVal intPort) 但是这种语法对我不起作用。您签出了吗?在Visual Studio中,添加对此Dll的引用 代码: Dim

在VB.NET中,我很难找到对非托管DLL进行函数调用的语法。有人熟悉这个吗

让我们假设在非托管DLL“Connector.DLL”中有一个函数“Connected”。我想通过创建对该函数的抽象函数调用来调用该函数

我看到一些代码看起来像

[DllImport("Connector.DLL")]
Public Shared Function Connect(ByVal intPort)

但是这种语法对我不起作用。

您签出了吗?

在Visual Studio中,添加对此Dll的引用

代码:

Dim vr as new COMDllClass()
vr.FunctionInDll()
按评论编辑:

请尝试以下代码:

<DllImport("Connector.DLL")> _
Public Shared Function Connect(ByVal intPort)
_
公共共享功能连接(ByVal intPort)

请尝试以下代码

Public Declare Function Connect Lib "Connector.DLL" (<MarshalAs(UnmanagedType.I4)> ByVal intPort As Integer) As Integer
将公共函数Connect Lib“Connector.DLL”(ByVal intPort作为整数)声明为整数

非托管DLL不适用于visual studio引用。所以这甚至不是COM可见的DLL?然后您可能需要编写一个COM包装并从Visual Basic中调用它。看起来您对该属性使用了不正确的语法。VB中的属性需要包含在尖括号中,并且必须与函数声明位于同一行。查看MSDN()或查看示例。