XVCL version 0.2

Released on December 30, 2000.

We consider this release to be a stable minor release. We still have a long way to go to 1.0, but we are getting there. XVCL had improved greatly in this version 0.2 since the previous version The fact that the version numbers differ only in number of zeros is just a funny coincidence.

Project JEDI

XVCL have joined Project JEDI. XVCL is now a part of JEDI VCL. XVCL code has been made compatible with JVCL coding standards - unit and class names were renamed to have Jv prefix.

XML/HTML classes

A big number of classes incapsulating HTML elements and attributes is now available in JvxHTMLClasses unit. You can build complex HTML documents using the standard classes provided in XVCL as building blocks and generate HTML content using TJvxXMLGenerator from JvxXMLClasses unit.

Standard attributes and elements

A number of standard attribute and element classes had been created for such basic types as Boolean, String, TDateTime, Integer, Extended. The source code is in JvxStdNodes unit. These standard classes can be used as building blocks to create your custom documents or as base classes to create specialized descendants.

Data sources and data fields

Concepts of data sources and data fields had been introduced to XVCL. Data Fields allow loading data into individual elements and attributes from external sources, like database fields, object properties, etc. Data Sources allow using external sources as virtual storage for multiple elements. For example, HTML <TABLE> element can use TTable component as a storage for it's <TR> elements.

You can find source code for base TJvxDataSource and TJvxDataField classes in JvxClasses unit. Source code for various descendant classes allowing using database tables, collections and object properties is in JvxDataSources unit.

Debugging memory manager

A debugging memory manager based on Steve Maguire's "Writing Solid Code" had been added to XVCL. It is used for internal testing of XVCL, but you can use it to make debugging your applications easier. It helps to detect such problems like use of uninitialized memory or object pointer, use of memory block or object that had already freed or moved to a different location. It can be used standalone or together with such tools like TurboPower Sleuth QA Suite or NuMega Bounds Checker.

The source code of debugging memory manager DLL is in JvxDebugMem.dpr. Interface is in JvxDebugMem.pas unit.


We started adding sample programs to XVCL. There is one example in Demos\HTML directory that illustrates use of XVCL to generate HTML content from data retrieved from a database.