Many years ago, in the middle of 90’s, Microsoft introduced a new revolutionary programming technology called COM (Component Object Model). It is used to enable inter-process communication and dynamic object creation in a large range of programming languages.COM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. Most new windows OS features were implemented using COM. Most programming languages support COM but most of them are not COM-based.
Now Microsoft has introduced a new revolutionary technology which is more powerful than COM called .Net. New programming languages such as C#, VB.Net, Visual C++ etc were created using the .Net technology. More and more new .Net components become available on the market.
Delphi developers can access .Net libraries through COM technology which requires Library registrations and a whole lot of stuff before the inter-process communication between the Delphi type library objects and the .Net library object types can be established. The era of creating and registering a type Library for .Net Libraries in Delphi is finally over because of the new technology called .Net Runtime Library for Delphi introduced by CrystalNet Technologies LTD which provides a set of low-level routines used by Delphi compiler to invoke the behaviours of the Common Language Runtime.
The .Net Runtime Library for Delphi is the best library to work with the .Net framework from Delphi. It is designed to provide a way to interact with applications written in anyone of the .Net langauges: C#, Visual Basic.Net, Delphi.Net, JScript.Net and others. Programmers can produce software by combining pascal source codes with .Net framework and other .Net libraries.
The .Net Runtime Library for Delphi can be used to:
load .Net assemblies from library without registering the Library for COM.
create .Net objects from the loaded assemblies,
create and use .Net objects that are not COM visible.
create .Net objects using parameterized or non-parameterized constructors.
invoke static and non-static members of the .net object type. The members includes field, properties, methods and events.
handle .Net exceptions and access all .Net exception properties including exception type name, StackTrace etc.
access information about loaded instance of .Net framework such as memory usage and size of heap by generation.
handle and raise .Net events.
and many more.
There are 2 main libraries that constitutes the .Net Runtime Library for Delphi, these are:
1. Host Class Library
This is also called Delphi Host Class Library or DHCL. This Library contains delphi classes and interfaces for starting and hosting the Common Language Runtime which manages memory, thread execution, code execution, code safety verification, compilation, and other system services.
2. Framework Class Library
The Delphi Framework Class Library (DFCL) is a delphi interface representation of the .NET Framework class library which is a collection of reusable types that tightly integrate with the Delphi Host Class Library.
.Net Assembly/WSDL Importer
A tool which is part of the .Net Runtime Library for Delphi is used to import .net assemblies, WSDL or Web Service XML schema and generates delphi classes from the types of the imported assemblies.