I/O Utility Classes

Release: 1.0.1
Date: 11 January 2014
Delphi Compatibility:
D1 D2 D3 D4 D5 D6 D7 D2005 D2006 D2007 D2009 D2010 DXE DXE2 DXE3 DXE4
Red LED Red LED Red LED Red LED Red LED Red LED Red LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED


These classes are designed to assist in various I/O related tasks. Classes are provided to:

  • Simplify the opening of files in various different modes with specified security attributes and to provide access to the file handle.
  • Simplify working with un-named pipes.
  • Handle the formatting of data read from pipes, for example reading Unicode strings.

These classes used to be included in the Console Application Runner Classes project to help handle standard I/O redirection but were pulled out into their own project because they have wider uses.


The classes require Delphi 7 and later.

They are also compatible with Windows 64 bit compilers of Delphi XE2 and later. The classes have Windows dependencies and so cannot be compiled for non-Windows targets.

The units can be included in both FireMonkey or VCL Windows applications.


The source code for these classes is documented using XML Documentation. In later version of Delphi this documentation will be displayed when the cursor is hovered over relevant class and method etc. names.

The classes are also fully documented online.

Feedback & Queries

If you find any bugs or want to suggest a new feature please report them using the Issue Tracker.

Click the Create Ticket button to create a ticket then complete the form giving as much information as possible. Please note: this issue tracker is shared among all the projects in the DelphiDabbler Code Library, so please make sure you enter ioutils in the Project edit box. You should also choose Defect in the Type drop down list to report a bug or Enhancement to request a new feature.

If you have created a bug fix or have implemented a new feature please attach a zip file to your ticket that contains your source code.

Should you have any queries about using the components please read the documentation.

If you can't find an answer in the documentation then post a message in the discussion group.

Please do not email me or use the contact page to report bugs, ask for new features or to find out how to use the classes.
I'm afraid I have very limited time available to support the code library, and can't guarantee I'll find time for personalised advice.