2009-06-12 12 views
1

Ich habe einige Probleme bei der Suche nach der Syntax für Funktionsaufrufe zu nicht verwalteten DLLs in VB.NET. Kennt jemand das?Aufruf nicht verwalteten DLL von VB

Nehmen wir an, es gibt eine Funktion "Connected" in der nicht verwalteten DLL "Connector.DLL". Ich möchte diese Funktion aufrufen, indem ich einen abstrakten Funktionsaufruf für sie erzeuge.

Ich habe einige Code da draußen gesehen, dass so etwas wie

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

Aber das Syntax für mich nicht funktioniert aussieht.

+0

Sieht aus wie Sie eine falsche Syntax für das Attribut verwenden. Attribute in VB müssen in spitze Klammern eingeschlossen werden und müssen sich in derselben Zeile wie die Funktionsdeklaration befinden. MSDN (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx) oder http://pinvoke.net für Beispiele. –

Antwort

-2

Fügen Sie in Visual Studio einen Verweis auf diese DLL hinzu.

In Code:

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

EDIT pro Kommentar:

diesen Code Versuchen:

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

Nicht verwaltete DLLs sind nicht als visuelle Studioverweise anwendbar. – Daniel

+0

Also das ist nicht einmal eine COM sichtbare DLL? Dann müssen Sie wahrscheinlich einen COM-Wrapper schreiben und diesen aus Visual Basic aufrufen. – Nate

0

Versuchen Sie, den folgenden Code ein.

Public Declare Function Connect Lib "Connector.DLL" (<MarshalAs(UnmanagedType.I4)> ByVal intPort As Integer) As Integer 
Verwandte Themen