Hallo zusammen,
ich arbeite mich aktuell in die RFID Thematik ein und habe ein Testexemplar eines Lesegerätes/Schreibers vor mir. Der Hersteller liefert ein SDK mit. angeblich für vb.net jedoch ist die Doku auf VBA Basis.
Daher habe ich die Doku mal versucht soweit mir möglich auf VB.net umzuschreiben jedoch hängt es aktuell an einer Fehlermeldung:
Ursprungscode in VBA:
Konvertiert in:
Fehlercode:
BC30311Der Wert vom Typ "Form1.MW_EasyPod" kann nicht in "EasyPOD.MW_EasyPOD" konvertiert werden.
Dieser Fehler tritt für jedes in den Zeilen 42,43 & 48-53 auf.
Wie muss ich denn das korrekt von VBA in vb.net wandeln?
Vielen Dank für Eure Hilfe!
Grüße
Miri
ich arbeite mich aktuell in die RFID Thematik ein und habe ein Testexemplar eines Lesegerätes/Schreibers vor mir. Der Hersteller liefert ein SDK mit. angeblich für vb.net jedoch ist die Doku auf VBA Basis.
Daher habe ich die Doku mal versucht soweit mir möglich auf VB.net umzuschreiben jedoch hängt es aktuell an einer Fehlermeldung:
Ursprungscode in VBA:
VB.NET-Quellcode
- Public Type MW_EasyPod
- VID As Long
- PID As Long
- ReadTimeOut As Long
- WriteTimeOut As Long
- Handle As Long
- FeatureReportSize As Long
- InputReportSize As Long
- OutputReportSize As Long
- End Type
- Public Declare Function ConnectPodA Lib "EasyPod.DLL" Alias "ConnectPod" (ByRef m_EasyPod As MW_EasyPod, ByVal Index As Long) As Long
- Public Declare Function DisconnectPodA Lib "EasyPod.DLL" Alias "DisconnectPod" (ByRef m_EasyPod As MW_EasyPod) As Long
- Public Declare Function WriteDataA Lib "EasyPod.DLL" Alias "WriteData" (ByRef m_EasyPod As MW_EasyPod, lpString As Byte, ByVal lToWrite As Long, lWritten As Long) As Long
- Public Declare Function ReadDataA Lib "EasyPod.DLL" Alias "ReadData" (ByRef m_EasyPod As MW_EasyPod, lpString As Byte, ByVal lToRead As Long, lRead As Long) As Long
- Dim m_Pod As MW_EasyPod
- Private Sub Command1_Click()
- Dim lResult As Long
- Dim lReturn As Long
- Dim sOutput() As Byte
- Dim sInput() As Byte
- Dim i As Integer
- ReDim sOutput(20)
- ReDim sInput(20)
- For i = 0 To 19
- sOutput(i) = i
- Next
- im_Pod.VID = &HE6A
- m_Pod.PID = &H317
- lResult = ConnectPod(m_Pod, 1)
- lResult = ClearPODBuffer(m_Pod)
- If (lResult = 0) Then
- m_Pod.ReadTimeOut = 1000
- m_Pod.WriteTimeOut = 1000
- lResult = WriteData(m_Pod, sOutput(0), CLng(20), lReturn)
- lResult = ReadData(m_Pod, sInput(0), 20, lReturn)
- End If
- lReturn = DisconnectPod(m_Pod)
- End Sub
Konvertiert in:
VB.NET-Quellcode
- Public Class Form1
- Public Structure MW_EasyPod
- Dim VID As Long
- Dim PID As Long
- Dim ReadTimeOut As Long
- Dim WriteTimeOut As Long
- Dim Handle As Long
- Dim FeatureReportSize As Long
- Dim InputReportSize As Long
- Dim OutputReportSize As Long
- End Structure
- Public Declare Function ConnectPodA Lib "EasyPod.DLL" Alias "ConnectPod" (ByRef m_EasyPod As MW_EasyPOD, ByVal Index As Long) As Long
- Public Declare Function DisconnectPodA Lib "EasyPod.DLL" Alias "DisconnectPod" (ByRef m_EasyPod As MW_EasyPOD) As Long
- Public Declare Function WriteDataA Lib "EasyPod.DLL" Alias "WriteData" (ByRef m_EasyPod As MW_EasyPOD, lpString As Byte, ByVal lToWrite As Long, lWritten As Long) As Long
- Public Declare Function ReadDataA Lib "EasyPod.DLL" Alias "ReadData" (ByRef m_EasyPod As MW_EasyPOD, lpString As Byte, ByVal lToRead As Long, lRead As Long) As Long
- Dim m_Pod As MW_EasyPOD
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim lResult As Long
- Dim lReturn As Long
- Dim sOutput() As Byte
- Dim sInput() As Byte
- Dim i As Integer
- ReDim sOutput(20)
- ReDim sInput(20)
- For i = 0 To 19
- sOutput(i) = i
- Next i
- m_Pod.VID = &HE6A
- m_Pod.PID = &H317
- lResult = ConnectPOD(m_Pod, 1)
- lResult = ClearPODBuffer(m_Pod)
- If (lResult = 0) Then
- m_Pod.ReadTimeOut = 1000
- m_Pod.WriteTimeOut = 1000
- lResult = WriteData(m_Pod, sOutput(0), CLng(20), lReturn)
- lResult = ReadData(m_Pod, sInput(0), 20, lReturn)
- End If
- lReturn = DisconnectPOD(m_Pod)
- End Sub
- End Class
Fehlercode:
BC30311Der Wert vom Typ "Form1.MW_EasyPod" kann nicht in "EasyPOD.MW_EasyPOD" konvertiert werden.
Dieser Fehler tritt für jedes in den Zeilen 42,43 & 48-53 auf.
Wie muss ich denn das korrekt von VBA in vb.net wandeln?
Vielen Dank für Eure Hilfe!
Grüße
Miri
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Miri“ ()