Thanks for your feedback..
FYI: I moved this thread to the Unicode & 64-bit forums.
cXmlHttpTransfer and cJsonHttpTransfer
Private properties are part of the private implementation of a class. When accessing those from a subclass or outside the class you do that at your own risk. While we do care a lot about backwards compatibility, we do sometimes refactor things to improve them.
Basic WebApp
The cWebApp class structure changes where actually made in
19.1. The cBaseWebApp class actually became a mixin. The goal was to support non Framework applications better without having to load many UI classes that you were not using. So, if you have a webapp that only runs web-services, classic asp or custom HTTP handlers then
cWebAppBasic is now the best (and cleanest) class to use.
Pointer vs Address
Before 20.0 pointer was actually a replace for integer, which is fine in the 32-bit world but 64-bit pointers do not fit inside integers. Our code contained a mix of Pointer, Address and Integer usage to store memory addresses. So to resolve the issue with pointer, and in an attempt to clean things up, we decided to change Pointer to become the same as Address and deprecate the usage of the Address name in favor of pointer (more consistent with other languages). The address indeed has some special powers with regards to strings and these actually became in issue with how pointer was used in some places, which is why we had to remove this. We then added errors to the compiler to help you find the cases where these special features where used, but unfortunately we could not make that detection watertight (DataFlex isn't very strictly typed), of which you obviously found an example.
So, to get the memory address to the value of a string variable use
AddressOf. To create a copy of that string value use
MemCopy (and do your own allocations), or change you code to use something like a UChar array. If you have a pointer to a memory block containing a string use
PointerToString which will
copy the value into a string variable you can then use. We believe that with these changes the code actually becomes more readable.