We are happy to announce that the upcoming major version of SmartInspect will come with full Unicode support. The current version is limited to logging and displaying ANSI strings and we think that this just isn’t suitable for a modern Windows application anymore.
All components of SmartInspect (the log format, libraries, Console and Configuration Builder) have been updated to handle Unicode data. The log format, for instance, now uses UTF-8 encoded strings instead of plain old ANSI strings. We will update our log format and protocols documentation on our website accordingly when the new version is available.
For the Java and .NET libraries, the Unicode porting was naturally a no-brainer since strings on these platforms were already in Unicode form. The only required change was therefore the switch to the UTF-8 log format encoding. For the Delphi library, the Console and the Configuration Builder (which are all implemented in Delphi) on the other hand, this was a lot more work. The native ‘String’ type in Delphi is an 8-bit string which does not handle Unicode very well (actually it doesn’t handle Unicode at all except UTF-8 encoded strings). We were therefore forced to replace all occurrences of ‘String’ with ‘WideString’ (the Delphi equivalent of Windows’ 16-bit Unicode strings) and all string handling routines and classes with Unicode enabled alternatives. Additionally we needed to update most of the graphical controls in the Console and the Configuration Builder.
What sounds simple was actually a tremendous amount of work, but we are very confident that the work was worth it. We plan to publish the glory details of porting Delphi applications to Unicode in a future posting (maybe on CDN?); probably once SmartInspect 2.0 is released.