Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

MaxExecTime property

Project: Console Application Runner Classes

Unit: PJConsoleApp

Classes: TPJCustomConsoleApp, TPJConsoleApp

Applies to: ~>3.0

property MaxExecTime: LongWord;


This property specifies the maximum permitted execution time of a console application, in milliseconds. If the application runs for longer than MaxExecTime then the Execute method returns once the time has elapsed. If the KillTimedOutProcess property is True then the console application is forcibly terminated, otherwise the process continues but no longer has any connection with this class.

MaxExecTime may be set to INFINITE, in which case the console application will never time out and will always run to completion. In cases where the application is deemed to be running too long it may still be possible to force the application to terminate using the Terminate method (but see remarks below).

The default property value is the value of the cDefMaxExecTime constant.


You are strongly advised never to set both the MaxExecTime and TimeSlice properties to INFINITE. Doing so means that you can’t kill an errant process by calling the Terminate method. This may result in the parent application locking up.

The property is public in TPJConsoleApp and protected in TPJCustomConsoleApp.