Collection of my open sourced Delphi units.
Contains following units:
Collection of Win32/Win64 wrappers and helper functions.
Parent class that automatically creates/destroys fields in derived classes that are marked with a
Attribute based command line parser.
A simple form with some enhancements.
Asynchronous HTTP GET/POST with ICS and OmniThreadLibrary.
Interface to 64-bit file functions with some added functionality.
Various TList descendants, TList-compatible, and TList-similar classes.
Sample implementation of a dynamically allocated, O(1) enqueue and dequeue, threadsafe, microlocking queue.
Smarter base class. Handles error codes, has precondition and postcondition checker.
Simplified access to the published properties.
Queue anonymous procedure to a hidden window executing in a main thread.
RANMAR pseudo-random number generator.
Windows NT security wrapper.
Distributed multicast event manager - object and component wrapper.
Shared memory implementation.
Some useful stream wrappers.
TStream descendants, TStream compatible classes and TStream helpers.
Structured storage (compound file; file system inside a file) implementation.
Various stuff with no other place to go.
Enhanced synchronisation primitives.
Main unit for the GpSysHookDLL. Implements system-wide keyboard, mouse, shell, and CBT hooks. Supports multiple listeners, automatic unhooking on process detach, and only installs the hooks that are needed. Supports notification listeners and filter listeners (should be used with care because SendMessage used for filtering can effectively block the whole system if listener is not processing messages). Each listener can only listen to one hook because hook code is sent as a message ID. All internal IDs are generated from the module name so you only have to rename the DLL to make it peacefully coexist with another GpSysHookDLL DLL.
Interface to 8/16-bit text files and streams. Uses GpHugeF unit for file access.
Stream wrapper class that automatically converts another stream (containing text data) into a Unicode stream. Underlying stream can contain 8-bit text (in any codepage) or 16-bit text (in 16-bit or UTF8 encoding).
Time zone conversion.
VCL helper library.
Version info accessors and modifiers, version storage and formatting.
GetMem/FreeMem wrapper that checks for block overruns.
A scalable atomic lock