7.x: Unexpected "The program is compiled with EurekaLog 7 trial version"
Posted by Aleksandr Alekseev on 17 July 2012 23:27
I'm trying/evaluating trial, but I get this message for my specific application:
However it appears that you forgot to configure EurekaLog for your project.
Please, use "Project" / "EurekaLog options" IDE menu item to enable and configure EurekaLog.
(Note: only full EurekaLog version allows using EurekaLog units without activating EurekaLog).
Normally the message about using EurekaLog Trial edition appears when your application is expired. This happens after 30 days since compilation of the application. However, if compilation date can not be retrieved - then application is also considered expired.
In other words, if you see this message immediately after compilation - then this means that EurekaLog was not run to post-process your project. This can be due to some kind of installation problem or project configuration problem.
A very common reason for this issue is dropping TEurekaLog or TEurekaLogV7 components on the form without actually configuring EurekaLog for your project.
One of another common reasons for this is disabling EurekaLog per specific build configuration (say, 'Release'), but not removing EurekaLog's units from application. You can disable EurekaLog for build configuration by removing EUREKALOG conditional symbol from configuration. EurekaLog is enabled for all build configurations by default (once you configure it for your project), so this can happen only when you change your settings manually. See below for diagnostic.
Another possible issue is mixing files from different EurekaLog versions. If EurekaLog code do not match injected EurekaLog's data - then EurekaLog's data are considered to be unknown version and will not be loaded. Thus, compilation data will not be retrieved and your executable will be "expired". See below for diagnostic.
Finally, check that your .dpr file does not have any IFDEF that modify project's type (e.g. program/library/package) or hide/duplicate uses clause. EurekaLog uses a very simple source code parser, which is unable to follow conditional defines. Therefore, EurekaLog may not be able to detect output file, because file's extension comes from project's type.
If you dropped TEurekaLog or TEurekaLogV7 component on your form, but did not configure EurekaLog via "Project" / "EurekaLog Options..." IDE menu command - do it now. Please, see this guide on using EurekaLog or watch video tutorial.
You can check output from EurekaLog. Use "View" / "Messages" IDE command to open build log (older Delphi/C++ Builder IDEs do not have such command; introduce non-used local variable to get "hint" from compiler about unused variable; EurekaLog's messages will appear in the same window). Build your project and watch messages from EurekaLog. A sample output of normal compilation may look like this.
For installation issues - please see this guide.
For post-processing issues - please see this guide.
You can check version of EurekaLog's code and data by using Module Informer (PE Analyzer) tool (which is available both in EurekaLog and EurekaLog Tools Pack).