I would assume that the straight Byte Ptr does not work because Strings work a little different from regular objects.
If you do String = String + "a", you get a new string, not a modified version of the string (ie behaves as java strings)
For that reason a pointer is a little critical to a string as the string just won't be there anymore after the next change and you better use ToCString / ToWString if you need a pointer as this creates an unmanaged copy of the current string.
Or create yourself a StringBuffer object (think someone did that already but don't nail me on it) a la java
If you do String = String + "a", you get a new string, not a modified version of the string (ie behaves as java strings)
For that reason a pointer is a little critical to a string as the string just won't be there anymore after the next change and you better use ToCString / ToWString if you need a pointer as this creates an unmanaged copy of the current string.
Or create yourself a StringBuffer object (think someone did that already but don't nail me on it) a la java