2009-06-12 34 views
1

VB.NETでアンマネージDLLの関数呼び出しを行うための構文を見つけるのに問題があります。誰もがこれに慣れていますか?VBからアンマネージDLLを呼び出す

管理対象外のDLL「Connector.DLL」に「接続済み」という関数があるとしましょう。この関数を呼び出すには、その関数に抽象関数呼び出しを作成します。

私は

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

のようになりますそこにいくつかのコードを見てきました。しかし、その構文は私のために動作しません。

+0

属性に誤った構文が使用されているようです。 VBの属性は山括弧で囲む必要があり、関数宣言と同じ行になければなりません。サンプルについては、MSDN(http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx)またはhttp://pinvoke.netを参照してください。 –

答えて

-2

Visual Studioで、このDLLへの参照を追加します。コードで

:コメントあたり

Dim vr as new COMDllClass() 
vr.FunctionInDll() 

EDIT:

このコードを試してみてください。

<DllImport("Connector.DLL")> _ 
Public Shared Function Connect(ByVal intPort) 
+0

アンマネージドDLLは、ビジュアルスタジオの参照としては適用されません。 – Daniel

+0

これはCOMで表示されるDLLでさえないのですか?その後、COMラッパーを作成してVisual Basicから呼び出す必要があります。 – Nate

0

は、次のコードを試してみてください。

Public Declare Function Connect Lib "Connector.DLL" (<MarshalAs(UnmanagedType.I4)> ByVal intPort As Integer) As Integer 
関連する問題