This article summarises key new features and improvements in this version. This library was built on the previous version
with fixes and several new features while remaining a very stable
The new features included are:
- The CrystalNet Common Language Runtime Library implements all c# mscorlib types. These types are represented as dispatch interfaces. In the previous version only the classes without the interfaces of the mscorlib types were implemented. The library uses the interfaces in the mscorlib_tlb.pas file. This caused so many issues and to resolve them all the types in mscorlib were implemented in the Runtime Library.
- Ability to load .Net assemblies and create instances of the .net types of objects using a new reflection class wrappers such as TClrAppDomain, TClrAssembly and TClrActivator defined in Runtime Host unit.
- Ability to load and build Web Services as assemblies using a new class called TClrWSDL. Using reflection classes or interfaces you can create instances of the imported webservices, access it fields, properties and invoke it methods.
- A TClrObject class which is a wrapper of the _ClrObject interface has been included in the Runtime Host unit which provides a flexible general purpose data type. The class can hold Delphi data type values in the form of OleVariant and .Net Objects. This class has properties and methods which allows a developer to access the fields, properties , methods and events of the .net object which this class holds.
- A TClrArray class which is a wrapper of the _Array interface has been included in the Runtime Host unit which is used to store array of Delphi variant or .net objects types.
- Type Conversion has been added to this release to help convert one type of data to another type. There are wraps and unwraps methods for each interfaces which help to convert from .net data types to CrystalNet common Language Runtime types and vice versa respectively.
- Introduced Dynamic Linq feature in this release. This unit has interfaces which contains methods to dynamically generate LINQ queries.
- More .Net Types have been added to the .Net Runtime Library. These types are represented as dispatched interfaces in the Delphi part of the runtime library.
There are 2 classifications of these interfaces in the library. These are:
- CNClrLib.Core.Intf which contains interfaces that represent the types defined in Microsoft Common Object Runtime Library (Mscorlib).
- The Delphi Framework Class Library which represent all the types defined in the .Net Framework Class Library.