Forum: VB.NET |
Thema:
Re: AddressOf bei VB.Net |
Von:
Tobi Ulm (
07.12.2004 10:15) |
Hallo,
AddressOf wird in Visual Basic .NET nur noch im Zusammenhang mit Delegates (Objektorientierte Funktionszeiger) benutzt.
Probiers mal so:
Dim A2 As Byte
Dim Bufferl As Byte
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim thebytes As Byte = Byte.Parse("254")
SetFilter(1, ReadDataFunction(thebytes, 8), 2, 1, 0)
MessageBox.Show(A2.ToString() & vbCrLf & Bufferl)
End Sub
Declare Function SetFilter Lib "saream.dll" (ByVal PID As Integer, ByVal ReadDataFunction As Long, ByVal CallBackTyp As Long, ByVal Size As Long, ByVal filter_num As Long) As Boolean
Public Function ReadDataFunction(ByVal buff As Byte, ByVal Laenge As Long) As Long
A2 = buff
Bufferl = buff
End Function
cu
Tobi
cu
Tobi
Betreff |
Von |
Datum |
|
|
G.
Guest
|
07.12.2004 12:20 |
|
  |
Re: AddressOf bei VB.Net
Hi,<br><br>es hat nicht gebracht!!<br><br>Da bei VB6 mit AddressOf die Adresse der Prozedur an die dll übergeben wird ist deine Lösung unbrauchbar, da so nur ein fester Werd übergeben wird. Ich brauche aber... |
 |
 |
 |
|
|
G.
Guest
|
07.12.2004 22:05 |
|
  |
Re: AddressOf bei VB.Net
Hi Harald<br><br>Dann wirst Du wohl oder übel mit Delegates arbeiten und CallBack Handler definieren müssen. Denn nur über Delegates kommt man an die "Adresse" einer managed Funktion.<br><br>cu<br><br>Tobi |
 |
 |
 |
|
|
Tobi
Ulm
|
08.12.2004 09:53 |
|
  |
Re: AddressOf bei VB.Net
Hi,<br><br>Habe es mal so versucht:<br><br>Public Delegate Function Read(ByVal buff As Byte, ByVal Laenge As Integer) As Object<br><br>Dim a As New Read(AddressOf Streame.ReadDataFunction)<br>a = AddressOf... |
 |
 |
 |
|
|
G.
Guest
|
08.12.2004 10:19 |
|
  |
Re: AddressOf bei VB.Net
Hi Harald,<br><br>hier ein bisschen Code:<br><br>TestCallBack exported von PinvokeLib.dll.<br>TestCallBack2 exported von PinvokeLib.dll.<br><br><br><br>Public Delegate Function FPtr( ByVal value As Integer ) As... |
 |
 |
 |
|
|
Tobi
Ulm
|
08.12.2004 14:12 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!