Vb.net 从VB调用非托管DLL
在VB.NET中,我很难找到对非托管DLL进行函数调用的语法。有人熟悉这个吗 让我们假设在非托管DLL“Connector.DLL”中有一个函数“Connected”。我想通过创建对该函数的抽象函数调用来调用该函数 我看到一些代码看起来像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
[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()或查看示例。