Console Application Runner Classes

Release: 3.1.0
Date: 11 August 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 Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED


The Console Application Runner classes are designed to be used to control the execution of child console application processes. There are two classes: a class named TPJCustomConsoleApp that is provided a base class for user-defined sub-classes, and TPJConsoleApp that is used to provide a general way to run and manipulate console applications. Both classes are provided in a single unit, PJConsoleApp.

The classes enable the console application's standard input, standard output and standard error to be redirected to and from files or pipes. They can also timeslice the running of the console application to enable the calling application to continue processing and to enable redirected piped output to be processed.

Where are TPJPipe, TPJPipeFilters & TPJFileHandle?
These classes were removed from v3.0. They are now available in the I/O Utility Classes project.

Demo Programs

The classes come with numerous demo programs that illustrate how to use the them. Each demo is related to an example documented in the Examples section of the project documentation. There is a VCL version of each demo and a few demos also have FireMonkey 2 versions as well.

Some of the demos use classes from the I/O Utility Classes project, so you will need to download that project to compile all the demos.

Full details of how to build the demo projects are provided in the a read-me file.


The project is documented online.

There is also an FAQ .

There is no help file.

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 consoleapp 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 and FAQ.

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.