Benutzer mit den meisten Antworten
Alten VB6 Code>GetMem2 / PutMem2

Frage
-
Hi zusammen, ich muß einen alten VB6 Code jetzt in VB.Net umsetzen.
Es werden Daten über TCP/IP ausgelesen und mit dem Code unten irgendwie Convertiert.
Könnt ihr mir da weiterhelfen?
GrussPrivate Declare Sub GetMem2 Lib "msvbvm60.dll" (ByVal Address As Long, ByRef Value As Long)
Private Declare Sub PutMem2 Lib "msvbvm60.dll" (ByVal Address As Long, ByRef Value As Long)
Public Property Get LCh(ByRef Text As String) As Long
GetMem2 StrPtr(Text), LCh
End PropertyPublic Property Let LCh(ByRef Text As String, ByVal NewValue As Long)
PutMem2 StrPtr(Text), NewValue
End PropertyPublic Property Get RCh(ByRef Text As String) As Long
GetMem2 StrPtr(Text) + LenB(Text) - 2, RCh
End PropertyPublic Property Let RCh(ByRef Text As String, ByVal NewValue As Long)
PutMem2 StrPtr(Text) + LenB(Text) - 2, NewValue
End PropertyPublic Property Get MCh(ByRef Text As String, ByVal Position As Long) As Long
GetMem2 StrPtr(Text) + ((Position - 1) * 2), MCh
End PropertyPublic Property Let MCh(ByRef Text As String, ByVal Position As Long, ByVal NewValue As Long)
PutMem2 StrPtr(Text) + ((Position - 1) * 2), NewValue
End Property
Antworten
-
Hallo,
den Code kannst Du vergessen. Unter .NET sind Strings unveränderbar, so dass solche "Tricks" nicht funktionieren.
Vermutlich ist die einfachste Lösung einen StringBuilder an entsprechender Stelle einzubauen.
Mehr könnte man nur sagen, wenn man den Kontext kennen würde, in dem die Funktionen verwendet werden.
Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 6. April 2012 13:22
Alle Antworten
-
Hallo,
den Code kannst Du vergessen. Unter .NET sind Strings unveränderbar, so dass solche "Tricks" nicht funktionieren.
Vermutlich ist die einfachste Lösung einen StringBuilder an entsprechender Stelle einzubauen.
Mehr könnte man nur sagen, wenn man den Kontext kennen würde, in dem die Funktionen verwendet werden.
Gruß Elmar
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 6. April 2012 13:22
-
Hallo michael floeter,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.