is a high resolution, long-term Delphi & C++Builder timer component
which provides a higher precision than the standard Delphi / C++
Builder TTimer component.
TTimer component which ships with Delphi & C++Builder uses the
Windows Message Queue to generate the OnTimer event. Due to this
approach it's impossible to get accurate timer intervals smaller
than 15 milliseconds.
ZylTimer is a thread based timer and due to this architecture provides
a higher precision (1-2 milliseconds), which is inevitable in time
The standard TTimer component uses the SetTimer API function, so
the interval is limited to 2147483647 milliseconds (about 25 days).
ZylTimer is a thread based timer and the interval could be set even
to hundred years if necessary.
It is important to understand that the accuracy of timers is limited.
Windows is not a real-time operating system (except Windows CE)
and it is not reasonable to expect timers to handle exactly very
small time intervals.
The demo version is fully functional in Delphi and C++Builder IDE,
but it displays a nag dialog (the licensed version will, of course,
not have a nag dialog and will not be limited to the IDE). The package
includes demo programs for Delphi and C++Builder and a help file
with the description of the component.
Available for: Delphi 10.3 Rio (Win32 & Win64),
Delphi 10.2 Tokyo (Win32 & Win64), Delphi 10.1 Berlin (Win32
& Win64), Delphi 10 Seattle (Win32 & Win64), Delphi XE8
(Win32 & Win64), Delphi XE7 (Win32 & Win64), Delphi XE6
(Win32 & Win64), Delphi XE5 (Win32 & Win64), Delphi XE4
(Win32 & Win64), Delphi XE3 (Win32 & Win64), Delphi XE2
(Win32 & Win64), Delphi XE, Delphi 2010, Delphi 2009, Delphi
2007, Delphi 2006, Delphi 2005, Delphi 7, Delphi 6, Delphi 5, Delphi
4, C++Builder 10.3 Rio (Win32 & Win64), C++Builder 10.2 Tokyo
(Win32 & Win64), C++Builder 10.1 Berlin (Win32 & Win64),
C++Builder 10 Seattle (Win32 & Win64), C++Builder XE8 (Win32
& Win64), C++Builder XE7, C++Builder XE6, C++Builder XE5, C++Builder
XE4, C++Builder XE3, C++Builder XE2, C++Builder XE, C++Builder 2010,
C++Builder 2009, C++Builder 2007, C++Builder 2006,
C++Builder 6, C++Builder 5, Turbo Delphi, Turbo C++
- The Delphi 2006
version is fully compatible with Turbo Delphi
- The C++Builder 2006 version is fully compatible with Turbo C++
- Delphi for .NET support was abandoned. You can use our .NET components
instead, which are written in C#.
If you have a previous
version of the component installed, you must remove it completely
before installing this version. To remove a previous installation,
proceed as follows:
-Start the IDE, open the packages page by selecting
Component - Install Packages
-Select ZylTimerPack package in the list and click the Remove button
-Open Tools - Environment Options - Library and remove the library
path pointing to ZyTimer folder
-Close the IDE
-Browse to the folder where your bpl and dcp files are located (default
is $(DELPHI)\Projects\Bpl for Delphi, $(BCB)\Projects\Bpl for C++
Builder). -Delete all of the files related to ZylTimer
-Delete or rename the top folder where ZylTimer is installed
-Start regedit (click Start - Run, type "regedit.exe"
and hit Enter). Open the key HKEY_CURRENT_USER\Software\Borland\<compiler>\<version>\Palette
and delete all name/value items in the list related to ZylTimer.
(<compiler> is either "Delphi" or "C++Builder",
<version> is the IDE version you have installed)
the zip file and open the ZylTimerPack.dpk file in Delphi (ZylTimerPack.bpk
or ZylTimerPack.cbproj file in C++Builder), compile and install
and add to Tools/Environment Options/Library (in older Delphi/C++Builder
menu) or Tools/Options/Delphi Options/Library/Library Path (in newer
Delphi menu) or Tools/Options/C++ Options/Paths and Directories/Library
Path & Include Path (in newer C++Builder menu, in C++Builder
10 or later, set them also for the classic compiler) the path of
the installation (where the ZylTimer.dcu file is located). The component
will be added to the "Zyl Soft" tab of the component palette.
After you have the component on your component palette, you can
drag and drop it to any form, where you can set its properties by
the Object Inspector and you can write event handlers selecting
the Events tab of the Object Inspector and double clicking the preferred
If you still have problems in C++Builder, running an application,
which contains the component, then open the project and in C++Builder
menu, Project/Options/Packages and uncheck "Build with runtime
C++BuilderXE2: If you get access violation, running an application
with this component, then comment out in the project's main form's
cpp file the following: //#pragma link "ZylTimer".
is indicated to use this component with "Stop on Delphi exception"
option deactivated. You can do this from Delphi / C++Builder menu,
Tools/Debugger Options/Language Exceptions/Stop on Delphi exceptions
in older versions or Tools/Options/Debugger Options/Embarcadero
Debuggers/Language Exceptions/Notify on language exceptions in newer
versions, otherwise you will have a break at all the handled exceptions.
-Avoid to use
time consuming code in the OnTimer event, but if it's necessary,
run it in a differnet thread.
64-bit support is only for runtime, so you have to use it in the
Install the 32-bit version of the component as it described
above and add to Tools/Options/Delphi Options/Library/Library Path,
selected platform: 64-bit Windows the path of the Win64 subfolder
of the component.
Before compiling the host application for 64-bit Windows, right
click on Target Platforms, Add Platform and add 64-bit Windows (Make
the selected platform active). If you compile the application in
this way, it will be a native 64-bit application.
If you can't open the help file:
-right-click on the help.chm file to get the properties
-on the bottom it says: “This file came form another computer....”
-push “Unblock” next to this text
-now the help.chm files opens as all other help files
ZylTimer - Delphi & C++Builder Component
Developer License with Source Code
support by e-mail
upgrade on request
- Sales tax/VAT is not included in the prices above and it differs
from country to country.
- All of our products are delivered via ESD (Electronic Software
Delivery) only. After purchase you will receive the full version
- All orders are final, so please assure that you buy what you
need, checking the fully functional trial version first!