Forum: VB.NET |
Thema:
dll Aufruf in VB.net |
Von:
G. Guest (
13.12.2004 21:06) |
Hi,
nachdem ich es jetzt hinbekommen habe ein "True" zurück zu bekommen, habe ich ein neues Problem.
Ich habe über Delegate die gleiche Struktur angelegt wie bei der DllImport aufgerufenen Funktion. Diese Funktion hat eine Byte Array. Die Länge der Array steht in der Variablen "länge" die mit übergeben wird.
Die Übergabe dieser Daten sollte normaler weise in der Funktion "ReadDataFunction" abgerufen werden. Die ich wiederum über die AddressOf von "MyDread" abrufe.
Aber wie komme ich an die Arry - Daten??
Ich habe es über alle möglichen Marshalling's Probiert, bekomme aber immer "Nothing" zurück.
Hier noch mal meine Deklaration und Aufruf
#Region "Delegate-Deklaration"
Public Delegate Function MySRead(ByRef buff() As Byte, ByRef länge As Integer) As Object
#End Region
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim Übergabe As New MySRead(AddressOf Streame.ReadDataFunction)
RichTextBox1.Text = RichTextBox1.Text & Chr(13) & "SetFilter " & Streame.SetFilter(100, Übergabe, 2, 2, &H0)
End Sub
Public Shared Function ReadDataFunction(ByRef buff() As Byte, ByRef länge As Integer) As Object
.
.
.
.
.
End Function
<DllImport("streamreader.dll")> _
Public Shared Function SetFilter(ByVal PID As Int16, ByRef ReadDataFunction As Object, ByVal CallBackTyp As Int16, ByVal Size As Int16, ByVal filter_num As Int16) As Boolean
End Function
Gruß
Harald
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!