From Free Pascal wiki

English (en) français (fr) português (pt)


This version of OnGuard is port of Turbo Power OnGuard. OnGuard is a library to create demo versions of your Delphi, Kylix and Free Pascal applications. Create demo versions that are time-limited, feature-limited, limited to a certain number of uses, or limited to a certain number of concurrent network users. You could also protect executable file from modification, either by hacker or malware. Most functionality has been tested to work under Windows, Linux and FreeBSD.

It has now been designed for cross-platform applications (Windows, Linux, FreeBSD etc). Pure Object Pascal. However some features are heavy system dependant. OnGuard doesn't depend on the Lazarus LCL, so you could also use it in Command Line, Web or other GUI toolkit applications.

OnGuard is distributed as a source-only package. The download contains the component package for Lazarus + documentation (pdf and hlp file) and probably all original examples ported to Lazarus.


MPL 1.1


You can download it from SourceForge. This is very old - dated 2006.

Or the lot more up-to-date version from GitHub here.

Alternative version

The OnGuard package on Sourceforge was apparently last updated somewhere in 2010. Graeme Geldenhuys has forked the code and started to maintain his own version. Please see his forum message for the reasons why he forked OnGuard: forum message by Graeme

Graeme's version on Github is a more up-to-date version of OnGuard for Free Pascal:

Dependencies / System Requirements

  • None


  • Stable


A dedicated support newsgroup has been set up for the Free Pascal port of OnGuard. Connection details are as follows:

NNTP Server
Port 119

Any News Client (eg: Mozilla Thunderbird, XanaNews, Opera Mail etc) can be used to connect to the news group. This is by far the best option and gives you the freedom to use your preferred news client software.

In a pinch, there is also a HTML webnews interface. This interface has some limitations (eg: attachments), but is good enough to read and reply to messages when on the go via a web browser (smartphone or desktop). To access the HTML interface, visit the following URL: []


  • Needs testing to see if this version is compatible with the original OnGuard. But maybe this isn't really an issue anyway.


  • Create the directory lazarus\components\tponguard
  • Ungzip+untar files into the directory
  • Open lazarus
  • Open the package tponguard.lpk with Component/Open package file (.lpk)
  • (Click on Compile only if you don't want to install the component into the IDE)
  • Click on Install


Read the manual. It's very detailed and contains a lot of samples.


The Code Generation demo included with OnGuard. This screenshot shows a date range restriction, and a key encode modifier, unlocking the application for a specific PC only. This demo uses the fpGUI Toolkit.

To Do / Future improvements

Here follows a list of possible things to extend or improve OnGuard with:

  • Test network usage code (NAF file is not locked?)
  • Better machine ID (based on CPU (mostly unavailable) and HDD physical serial numbers and MAC address for example)
  • Merge it with HASP USB keys support and others (plugin system?)