delphidelphi-xe2eurekalog

Can not use Eureka Log function in module


I am getting some error while running my Delphi XE2 application with Eureka log. I have a licensed copy of Eureka Log and follow all the steps as per document, but still getting the error below:

Eureka Log error while running application

EurekaLog 7.0.7.1 crash report

Cannot use EurekaLog's functions in module (censored) without activated EurekaLog.
Use IDE's "Project/EurekaLog Options..." menu item to activate EurekaLog.

This error is coming when I try to run the application. Compiler directives are correct and all the included files and components are also correct. My application was working fine 3 months ago but suddenly it stopped.

I checked the license: it is up-to-date. Checked Project/Eureka Log Options as well: everything is good.


Solution

  • The elephant in the room:

    I checked license it is up-to-date

    Your screenshot says EurekaLog version is 7.0.7.1. It was released 10 years ago!

    1. If you have a modern license - why you are not using the latest/modern version of EurekaLog (7.11.x)?
    2. If you are using the latest/modern version of EurekaLog - then this message comes not from your application, but perhaps from some other module (DLL), which was compiled with old EurekaLog version.

    Now, back to the question.

    The message is displayed when your application does not have embedded EurekaLog's options and debug information. This means that the application was not post-processed to inject required information.

    You can double-confirm this by using the Start / Programs / EurekaLog / Tools / PE Analyzer tool for your compiled executable. I highly suspect that it will show you that your application does not have EurekaLog's data on board.

    Now, once you have confirmed that your application was not compiled with EurekaLog - you have to find the reason why that is.

    The usual way would be to look at the compiler's output (View / Tool Windows / Messages, usually located at the bottom of the IDE). There should be output from EurekaLog there. See if it runs or chokes. If it fails - there should be a reason indicated.

    This article contains a troubleshooting guide with step by step instructions. You said

    follows all the steps as per document

    Did you see / follow that article? It contains screenshots of every step and every correct output.

    If you still fail to resolve your issue - please, post screenshots and outputs from each step described in your article, specifically - answer the following questions:

    1. Do you see EurekaLog's menu items in IDE?
    2. Is your project configured via Project / EurekaLog options?
    3. Does your project have map file set to Detailed?
    4. Does your project have EUREKALOG conditional symbol defined?
    5. Do you see "EurekaLog" stage in IDE's project compilation progress dialog?
    6. Do you see output from EurekaLog in IDE's build log (check both tabs)? If yes - copy/paste it here.
    7. Wipe all old *.dcu files and reinstall EurekaLog. Sometimes it is possible that your IDE will use a mix of old and new EurekaLog's files. For example, if you run your IDE in compatibility mode, some files may go into Windows VirtualStore and override the actual / modern files from Program Files folder.
    8. If everything else fails - check if you are actually looking at the correct executable.

    P.S. There is also a very similar error with similar resolution steps.