Skip to content

UweRaabe/CmonLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CmonLib

My Common Library (c'est mon)

A collection of several units with different purpose.

Cmon.AsyncGuard provides basic classes to execute a task in parallel synchonizing with the VCL, while taking care of the usual pitfalls with dangling pointers and ownership.

Cmon.CmdLineHandler and Cmon.CmdLineFileHandler contain classes for handling command line applications. Derived classes concentrate on the actual task to do.

Cmon.DataSense adds data sensitivity to controls that don't support that itself. Place a TDataSense component onto a form and all supported controls get a DataSource and DataField property in the object inspector.

Cmon.DataSetHelper offers a class helper for TDataSet with enumerator support as well as loading and storing classes and records.

Cmon.DataStorage allows persistance of fields and properties of class instances, especially forms and frames, by applying attributes.

Cmon.Dialogs abstracts standard dialogs from any framework. Built upon Cmon.Messaging.

Cmon.Initializing establishes a way to control initialize code for other units into the call to Application.Initialize. This allows to make adjustments before, which would be near to impossible if the initialize code would execute in the units initialization section.

Cmon.Logging adds a simple, abstract logging mechanism. Built upon Cmon.Messaging.

Cmon.Messaging provides some bases for using System.Messaging.

Cmon.Observers introduces some helper classes for leveraging the observer support of several VCL controls as well as implement observer support for other classes.

Cmon.Utilities contains some class helpers and general purpose routines.

Most of the units are self-contained or form small clusters. This is to avoid when using one unit of the library having a bunch of others used indirectly. There are just a handful of units providing functionality used by several others.

  • The helpers for TComponent and TCollection as well as some methods from TUtilities in Cmon.Utilities are used in several places.
  • Auto-registering of messaging handlers makes use of Cmon.Initializing to allow some fine control without touching the initialization sections.
  • The classes of Cmon.Messaging come in too handy as that they were not preferred by those messaging handlers just mentioned.

None of these three units has any dependency on another CmonLib unit nor on any other unit outside the System namespace.

The other self-contained units are Cmon.AsyncGuard and Cmon.DataSetHelper, where the latter obviously has a dependency on Data.DB. The rest form those individual clusters with dependencies on at most Cmon.Messaging, Cmon.Initializing and Cmon.Utilities.

A couple of these CmonLib units have their roots in either an article on my blog or one of my sessions at the various CodeRage DE events.

About

My Common Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages