DWScript for Delphi XE3

DWScript (SVN version) should now compile under Delphi XE3, thanks to Steffen Binas for providing a workaround for a compiler bug (internal error URW1147).

The workaround will alas reduce performance, for a proper fix, a futureXE3 update will be required,see QC #109187.
While I’m at it, I might also raise awareness of another XE3 bug, QC #108942 (internal error G9413).

(on a side note, my XE3 trial expired, so any fixes or workarounds for XE3 will have to come from you guys)

Spotlight on dwsJSON

dwsJSON is a unit that supports JSON parsing/creating, it’s part of DWScript but relatively “standalone”, in that if you add it in your Delphi (or FPC) projects, it won’t pull the whole of DWScript library, and thus can be used anywhere you need.

The JSON parser in dwsJSON generates an object tree based on TdwsJSONValue (and its subclasses), you can also create such a tree from scratch and use it to spit out JSON. There is also a low-level JSON writer for fast, write-only streaming. All classes support full Unicode (in Delphi) as well as very long strings (like a base64 streamed image).

(more…)