Moin
Ich möchte einen String an eine dll Funktion übergeben, welcher auch Hex 0 enthalten muss.
Ich benutze als Skipter Cypress Enable (ähnlich VB6 oder VBA).
Leider werden alle Hex 0 bei Ausgabe entfernt oder Verschluckt oder sonst was.
Beispiel:
Ich habe schon viele Möglichkeiten probiert (a = Null oder mit einer Array, VbNullChar hab ich leider nicht),
das ich momentan nach einer Lösung "an Cypress vorbei" suche.
Ach ja, mit VBA funktioniert die Übergabe problemlos.
Wie wäre es mit einer Klassenbibliothek, der ich einen Hex-String übergebe, die Klasse konvertiert diesen in Zeichen und
gibt das Ergebnis wieder an Cypress oder weiter an die API.
Zwei Probleme könnten sich dabei jedoch ergeben:
1. Cypress schneidet bei Rückgabe wieder die Hex Nullen ab,
2. bei Weitergabe durch die Klasse an die API, bin ich mir nicht sicher, ob das überhaupt funktioniert, weil die String-Übergabe mit Cypress normalerweise über eine Klasse/Objekt!? erfolgt.
Da ich mit VB.Net noch gar keine Erfahrung habe, bin ich auch gleich diesem - einfach klingendem - Tutorial gefolgt, welches erfolgreich schief lief!
... denn diesen Code mochte Visual Studio irgendwie nicht:
Ich dachte das Len, Mid, Var auch in VB.Net funktionieren.
Die Syntax Beschreibung zum Erstellen einer Klassenbibliothek konnte ich auf die schnelle nicht finden.
Ich würde mich freuen, wenn mich jemand begleiten würde, bis ich dieses Problem gelöst habe.
Gruß
Robert
Ich möchte einen String an eine dll Funktion übergeben, welcher auch Hex 0 enthalten muss.
Ich benutze als Skipter Cypress Enable (ähnlich VB6 oder VBA).
Leider werden alle Hex 0 bei Ausgabe entfernt oder Verschluckt oder sonst was.
Beispiel:
Ich habe schon viele Möglichkeiten probiert (a = Null oder mit einer Array, VbNullChar hab ich leider nicht),
das ich momentan nach einer Lösung "an Cypress vorbei" suche.
Ach ja, mit VBA funktioniert die Übergabe problemlos.
Wie wäre es mit einer Klassenbibliothek, der ich einen Hex-String übergebe, die Klasse konvertiert diesen in Zeichen und
gibt das Ergebnis wieder an Cypress oder weiter an die API.
Zwei Probleme könnten sich dabei jedoch ergeben:
1. Cypress schneidet bei Rückgabe wieder die Hex Nullen ab,
2. bei Weitergabe durch die Klasse an die API, bin ich mir nicht sicher, ob das überhaupt funktioniert, weil die String-Übergabe mit Cypress normalerweise über eine Klasse/Objekt!? erfolgt.
Da ich mit VB.Net noch gar keine Erfahrung habe, bin ich auch gleich diesem - einfach klingendem - Tutorial gefolgt, welches erfolgreich schief lief!
... denn diesen Code mochte Visual Studio irgendwie nicht:
Visual Basic-Quellcode
- Namespace MeineDll
- Public Class SendHexString
- Function getHexString(ByVal hStr As String) As String
- Dim h1 As String, h2 As String
- Dim dez As Integer
- Dim i As Long
- h1 = hStr
- For i = 1 To Len(h1) Step 2
- dez = Val("&H" & Mid(h1, i, 2))
- h2 = h2 & Chr(dez)
- Next
- Return h2
- End Function
- End Class
- End Namespace
Ich dachte das Len, Mid, Var auch in VB.Net funktionieren.
Die Syntax Beschreibung zum Erstellen einer Klassenbibliothek konnte ich auf die schnelle nicht finden.
Ich würde mich freuen, wenn mich jemand begleiten würde, bis ich dieses Problem gelöst habe.
Gruß
Robert