2009-06-12 3 views
1

VB.NET에서 관리되지 않는 DLL에 대한 함수 호출 구문을 찾는 데 문제가 있습니다. 아무도 이것에 익숙하지 않니?VB에서 관리되지 않는 DLL 호출

관리되지 않는 DLL "Connector.DLL"에는 "Connected"함수가 있다고 가정 해 봅시다. 나는이 함수를 추상 함수 호출을 만들어서 호출하려고한다.

내가

[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() 

편집 :

이 코드를보십시오 :

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

비 관리 DLL은 Visual Studio 참조로 적용 할 수 없습니다. – 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 
관련 문제