ZylTimer 1.30

ZylTimer 1.30
ZylTimer 1.30 | 260 kB

ZylTimer 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 critical applications.
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.
Supported Operating Systems:
Windows 95/98/Me/NT/2000/XP/Server2003/Vista/Server2008/7/8/Server2012/10
Available for: Delphi 10.2 (Win32 & Win64), Delphi 10.1 (Win32 & Win64), Delphi 10 (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.2 (Win32 & Win64), C++Builder 10.1 (Win32 & Win64), C++Builder 10 (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\\\Palette and delete all name/value items in the list related to ZylTimer. ( is either “Delphi” or “C++Builder”, is the IDE version you have installed)
-Unzip the zip file and open the ZylTimerPack.dpk file in Delphi (ZylTimerPack.bpk file in C++Builder), compile and install it
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 event.
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 packages”.
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”.
-It 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 platform:
Delphi/C++Builder 64-bit support is only for runtime, so you have to use it in the folllwing way:
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.
Help file:
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, Builder, component, Delphi, precision, standard, TTimer, higher, provides, timer, resolution, which, Delphi, Builder, component, Win64, Win32, Options, ZylTimer, version, Windows, Library, Tools, which, application, timer, click, where, event, files, Turbo, TTimer



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s