Add .Net Runtime Library for Delphi


The .Net Runtime Library for Delphi (CNClrLibrary) is the best library to work with .Net framework and .Net libraries from Delphi. It is designed to provide a way to interact with applications written in anyone of the .Net languages (such as C#, Visual Basic.Net, Delphi.Net, JScript.Net, etc) from Delphi.
The .Net Runtime Library for Delphi (CNClrLibrary) allows Delphi to use .Net libraries without the need for registry entries, COM registrations, or changes to the .NET libraries.
Applications built with the .Net Runtime Library for Delphi will not require any dll files when deployed. It allows developers to create applications that can mix managed (.NET) and unmanaged ("native" Delphi) code in the same project.
A Brief History of .NET in the World of Delphi
Ever since it was originally announced, the Delphi community has had a love/hate relationship with .NET. Being spoiled by the richness in RAD development they had been enjoying for years, the community was quick to dismiss .NET as something that might bring benefits to MFC or Visual Basic developers, but would bring little benefit over Delphi and its powerful VCL class library and RAD form designers. Many also saw .NET as the latest development fad that would excite people for a while but quickly die out for lack of serious adoption.
Three significant releases later, it has now become obvious that these assumptions were wrong. The .NET 2.0 core framework has introduced significant development advances in the .NET languages, such as Generics that make .NET development attractive and, with the new services branded under 3.0, Microsoft has introduced a significant new paradigm for user interface design that is likely to revolutionize how tomorrow's Windows desktop applications will look and feel. The third party market for .NET has developed strongly, with a vast range of professional components being available in all imaginable areas – while at the same time the Delphi component market seems to be winding down, as many third party vendors scale down their support in favor of .NET or are leaving the market altogether.
Embracing .NET with Delphi
This is the situation that triggered the idea for the .Net Runtime Library for Delphi: what if there was a way for Delphi developers to preserve their existing investment in solid, working Win32/Win64 code written in Delphi, but at the same time enable them to extend that codebase, using new .NET-based technologies? What if developers could use .NET Framework Class Libraries and all the other benefits of the .NET framework when writing new code for their applications, while keeping the existing parts of their application code basically untouched without porting and retesting?
CNClrLibrary enables you to keep your investment in your existing native Delphi code base, while at the same time opening your applications to .Net Framework Class Libraries. At the same time, the existing code can be kept and maintained in Delphi, and both parts can contribute to what appears to the end user as a single, unified application. CNClrLibrary makes it possible to employ new and emerging .NET technologies within your existing Delphi-based application frame.
Competitive AdvantagesThe following are some of the advantages the .Net Runtime Library for Delphi have over it competitors:
Full access to .Net Framework Class Library (Including new and emerging .NET technologies).No extra dll is required when deployed.No COM registration of .Net Libraries is required when deployed.There are tools to generate your .Net Libraries into Delphi pas files.Allows Delphi to consume .Net libraries as if they were native code.Easy to use.
CNClrLibrary can do so much:
Access .Net Framework Class Library (such as Collections, Data Configuration, DataSets, Data Access, Database Connectivity, Diagnostics, IO, Linq, Dynamic Linq, System, Device and Application Management, Networking, Reflections, Security, Encryption, Cryptogrphy, Character Encoding and String Manipulation, XML etc).Access Third Party .Net Libraries.Access Your .Net Libraries.Hosts the .Net Common Language Runtime (CLR) in Delphi.Can load and access assemblies and their types from third party .Net libraries or your own .Net libraries or executable files.Can load and access assemblies and their types from Global Assembly Cache (GAC)Can invoke members of the loaded assembly types which includes constructor, fields, properties, methods and events.Can invoke static members of the loaded assembly types which includes constructor, fields, properties, methods and events.Can load and access assemblies and their types from Global Assembly Cache (GAC)Can create instance of .Net object from the types of the assembly loaded.Can handle .Net exceptions.Can handle, access and invoke .Net events.Can host .Net controls in Delphi VCL Forms.Contains a utility for importing .Net libraries(third party or your own .Net libraries) or WSDL and for generating Delphi classes from the types of the imported libraries....and many more.
.Net Runtime Library for Delphi Consists of:
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 .Net Common Language Runtime (CLR) which allows Delphi applications to load and access .net assemblies, create object instance of the types from the loaded assembly, invoke the members of the types etc. The CLR manages memory, thread execution, code execution 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. 
Tools and Components
.Net Assembly/WSDL Importer: This is only available for Professional Edition User License. This tool allows users to import any .Net libraries (3p libraries or your own libraries) or WSDL and generates Delphi pas files from the imported libraries using the classes and interfaces in the .Net Runtime Library. 
.Net VCL for Delphi
Container VCL Control - This control allows a developer to host .Net controls in Delphi VCL Forms.ADO.Net VCL for Delphi - Allows developers to create fastest and most reliable database connectivity solutions for any database using ADO.Net technology in Delphi.
Example:How to use .Net XML Classes to compare two element names in Delphi:-----------------------------------------------------------------------------------
program XML; 
{$APPTYPE CONSOLE} {$R *.res} 
uses   CNClrLib.Xml,   CNClrLib.Core; 
var   NameTable: _NameTable;   Book, Price: Variant;   Settings: _XmlReaderSettings;   Reader: _XmlReader;   ReaderHelper: _XmlReaderHelper;   ObjectHelper: _ObjectHelper; begin   NameTable := CoNameTable.CreateInstance; 
  Book := NameTable.Add('Book');   Price := NameTable.Add('Price'); 
  // Create the Reader.   Settings := CoXmlReaderSettings.CreateInstance;   Settings.NameTable := NameTable.AsXmlNameTable; 
  ReaderHelper := CoXmlReaderHelper.CreateInstance;   Reader := ReaderHelper.Create_1('books.xml', Settings); 
  Reader.MoveToContent;   Reader.ReadToDescendant('Book'); 
  ObjectHelper := CoObjectHelper.CreateInstance;   if ObjectHelper.ReferenceEquals(Book, Reader.Name) then   begin     // Do additional processing.   end; end. 
-----------------------------------------------------------------------------------
Deployment
Microsoft .Net Framework (Latest versions of Windows have .Net Framework pre-installed)Basic Copy Deployment - Your application
Related Discussions
  • HOW TO KILL ANYOTHER PROGRAMS WITH DELPHI? (2001-01-02 19:04:42)
    Find the handle of the window using FindWindow or EnumWindows and use PostMessage(ProgramHandle, WM_CLOSE, 0, 0); I have not tried it, but it...
  • HOW TO GREP CHARACTERS IN DELPHI 3 (2001-01-03 03:29:32)
    Var Grep : String; Begin Grep := Copy('2000-46',6,2); End; The first parameter is a string or a dynamic array, the second is the index of...
  • HOW CAN I DEBUG DLL (2001-01-03 02:48:24)
    Do you mean how to find internal errors while writing a DLL file or how to get the exact error while calling a DLL Function ? /Filip
  • USING DLLS (2001-01-04 01:47:50)
    Hi again Goober ... :o) Let's take NETAPI32.DLL as an example. This DLL is created by Microsoft and the explanation of its use is described in...
  • DOT ON SCREEN (2001-01-03 05:42:55)
    Delphi does not support a Pixel function with a HDC, you have to use the Windows-API-function COLORREF SetPixel( HDC hdc, // handle...
  • HOW TO RUN DATABASE APPLICATION ON THE INTERNET (2017-06-09 10:54:22)
    Well, in design I think there is already an issue. Backend is more then just a database with which you connect. There should be a complete layer...
  • HELP WITH CHDIR !!!! TURBO PASCAL VS DELPHI (2001-01-03 08:48:49)
    This is because the ChDir Procedure, the SetCurrentDir and SetCurrentDirectory Functions are changing the directory in the active process. Try...
  • FRIENDS IN DELPHI ?? (OR OTHER ACCESS WORKAROUNDS) (2001-01-04 11:08:37)
    One of the quirks of Delphi is that classes in the same unit can access protected and private methods and variables. Borland does this a lot in...
  • SENDING ICQ MSGS FROM DELPHI (2001-01-03 16:54:03)
    I tried the ICQ Api, but never used it. I've added a simple ICQPager component to delphipages (Winsock/TCPIP).. it might help... Q
  • RUNNING A DATABASE APPLICATION ON ANOTHER COMPUTER (2001-01-07 07:36:33)
    In the BDE on the other PC (the one without the database), you must add an alias to point to the location of the database in the format of:...
Latest News
Submit News Form Past News
Latest Forum Entries