Quite some time has gone since my last update here. But now there are some (good) news to publish: First of all, the ID3 Library and the XML Library have been updated. The first one has just got a small fix on reading empty frames, but the other has some new features. The last update of the XML Library was exactly one year ago, so I have to bring some more changes: the handling of comments was improved and supports them prior, inside and after nodes. This should prevent the loss of comments in any kind like the previous version did previously. Some more options were added to control the handling of the output (including a new option to prevent writing any newline sequences as suggested and programmed by Mr. Karger). The release includes some other small fixes on the node handling when moving inside a structure (assign new parent or use the Move() method), the LoadFromNode() method is now usable and some other small fixes.
The library is still usable on Delphi 4+ including C++Builder 4+ up to RAD Studio XE (XE2 is not tested due to missing licenses). The downloads for both libraries can be found on the project pages: ID3Lib & XMLLib.
And finally I would like to inform that I am working on the XMLLib version 3. This is a complete new version written completely from scratch. The library is a combined SAX and DOM parser with the ability to combine both handlings while parsing a file. This offers the possibility to work on really big files without screwing up the memory using the SAX parser. But while parsing you can mark any node returned by the SAX parser to be kept like a DOM parser including its sub nodes and other items. This offers the possibility to keep just the needed information in memory and offering the known parent/sub node access possibilities (including full paths) for selected nodes (not just only one, as many as your memory manager can handle). Last but not least I build a better string adapter system for handling any character encoding (yes, even 2-byte/char or more). But this new feature has its price: it is based on the new unicode handling feature introduced with RAD Studio 2009. This is the main negative aspect of the XMLLib 3: it runs on RAD Studio 2009 or later. The library is still a native implementation with full source code and no dependencies on external DLLs or other files. I planned to publish some beta versions to get sneak preview on the new library and structure and I am open to suggestions and ideas. A release date is not known yet (final release nor beta previews), but I’ll try to keep working on it.