ADUG
Home
About Us
Services
Meetings
Fees
Mailing List
Rules
Reference Papers
Downloads
Apply to Join
Delphi Jobs
Special Offers

 

Downloads
Downloads Index


CSI Application Framework 

What is the CSI Application Framework ?

The CSI Application Framework is an object-oriented framework developed by Misha Charrett for applications written in Delphi. The current implementation is for Win32 applications, and the framework can be used with Delphi 2005 and above, and Windows 2000 and above. The framework itself is split into four layers:

Core:

  • Essential system, string, date/time, and file routines
  •  Application logging, exception handling, and startup/shutdown management
  • Configuration variable management
  • Singleton object management
  • Base threading framework
  • Other essential utility classes

Utilities:

  • Additional utility routines (windows control, zip)
  • Additional utility classes (e.g. XML, threaded queue, virtual directory, persistent queue)
  • Additional utility components (timer, file iterator)

Application:

  • Application globals class to manage the application as a whole
  • Application configuration manager class to manage some standard configuration settings
  • Generic inter-thread messaging module
  • Generic inter-process TCP communications module
  • Generic abstracted database access module

Framework:

  • High-level inter-process communications servers and clients
  • Implementation of a consistent thread messaging interface for all thread, communication, and database "application components"
  • Separation of dynamic performance settings from static application configuration
  • Implementation of a configurable "application component" framework

The underlying design philosophy of the application framework is to build the framework up in layers, each layer extending the functionality of the preceding layer. Firstly, the core layer is the fundamental low-level glue that holds the framework together. The utilities layer provides some generic utilities that extend the functionality offered by the core layer. The application layer supplies a methodology for application development as well as abstracting access to higher-level "components" such as threads, communications servers and clients, and database access. Finally, the framework layer adds a common high-level thread messaging interface to all "application components".

Getting Started with the Framework

Download Csi V5.2.3.7z

The files are compressed using 7-zip.  Visit the 7-zip site to download this free utility if you don't already have it.

Extract the files. This creates a CSI directory.  Put this directory where you would like to locate the files and then follow the instructions in install.txt to install the framework into Delphi.

Work is proceeding on updating the framework documentation.

There are a number of example projects within the Examples directory, which are also in the process of being updated.

Updates to the Framework

20/11/2008 (671KB)

Update Notes:

  • Latest working version as of 20/11/2008. This release contains a number of minor updates made as a result of its use in a current project.
  • Work is proceeding on documentation and examples