Important Note: please see most recent version of this documentation here.
File layoutEurekaLog 7 changes way to manage its files. Now files are organized in typical manner for Delphi libraries:
\Bin- compiled executables (tools), 32-bit. Each EurekaLog tool and helper has its .exe/.dll files here (except for EurekaLog itself).
\Bin64- compiled executables, 64-bit. Not all tools have 64-bit counterparts.
\Lib- precompiled EurekaLog files (units):
\Lib\<platform>- precompiled EurekaLog units (.dcu, .obj, .hpp). Each folder has subfolders for Debug/Release configuration and subfolder for different IDE versions.
\Lib\Obj\<platform>- precompiled external source code (non-Delphi). This is location for .obj files of ZLib project. ZLIb is used by EurekaLog to compress injected debug information.
\Lib\Common- copy of all resource files.
\Libfolder is used to compile your projects.
\Packages- EurekaLog executables (packages and command-line compiler).
\Source- source code of EurekaLog (.pas files). Full source code is available only for Enterprise edition. Other editions have only headers (declarations). Full source code can be used to recompile EurekaLog. By default this folder is not used by your projects.
- \Source - EurekaLog files. Those are files for your application
- \Source\Design - files for IDE expert. Used at design-time.
- \Source\Compiler - files for command-line compiler (ecc32/emake).
- \Source\Common - common files (includes and resources).
\Libfolder should be mentioned in search paths either in IDE or your project. When you compile your project - precompiled files from
\Libfolder are used. EurekaLog itself is not compiled (which is faster, saves original settings for EurekaLog compilation, does not modify files, UAC-friendly).
Releasecontains files which were compiled with "Use Debug DCUs" option unchecked.
Debugcontains files which were compiled with "Use Debug DCUs" option checked.
There are no significant differences in other compilation options for these files. Both have debug information included.
Releasefolder (proper IDE subfolder - see below) should be listed in library search paths for IDE or project.
Debugfolder (proper IDE subfolder - see below) should be listed in debug search paths for IDE or project.
If your application has "Use Debug DCUs" option checked - then files from
Debugfolder will be used (regardless of Debug/Release profile in your application).
If your application has "Use Debug DCUs" option unchecked - then files from
Releasefolder will be used (regardless of Debug/Release profile in your application).
Debugfolders contain subfolders for various supported IDEs. To map your IDE version to name of folder inside
Debugfolders - see this article.
Sourcefolder should be added to IDE browsing paths options, so IDE will be able to open and show EurekaLog's .pas files.
Packagesfolder are copied to \bin folder of your IDE. This is done to avoid altering %PATH% environment variable. I.e. files in
Packagesfolder are not used, they are hold as master-files to restore EurekaLog in \bin folder of IDE.
The entire EurekaLog folder in Program Files contains only read-only files which are not modified for typical usage cases. All files which should be writable (such as Demos, bug reports, profiles, translations, etc.) are installed into %APPDATA%\EurekaLab s.a.s\EurekaLog\ folder.
RecompilationEurekaLog Enterprise comes with full source code, which you can use to recompile EurekaLog. EurekaLog Enterprise contains additional
\Projectsfolder, which contains project files to compile EurekaLog. There are project files for run-time package, design-time package (IDE expert) and command-line compiler (ecc32/emake). There are no special project for EurekaLog itself, because EurekaLog is not application, but library.
To recompile EurekaLog, you first must delete existing .dcu/.obj files. We recommend to rename all
\Lib\<platform>folders (please, keep
\Lib\Commonuntouched) to remove them from search path, so IDE will not be able to find and use them. That way you will be able to restore original files at any time.
The next step depends on what you want to recompile.
Packages and compilers
- To recompile packages and/or compilers you must either run your IDE under administrator account or to change file permissions for EurekaLog folder in Program Files to allow modifications by limited user accounts.
- Then you should open corresponding project file from
Projectsfolder. Please, select project corresponding to your IDE. You can verify it here. You can also open project group to load all 3 projects (run-time package, design-time package and command-line compiler).
- (Optionally) Change settings of project(s) as you desire.
- Compile projects. Compiled executables will be placed to
Packagesfolder. Compiled units will be placed to corresponding folder under
Libfolder (make sure output paths exist).
Packagesfolder. To automatically reflect your changes - either copy files from
Packagesfolder to \bin folder of your IDE or change output path setting of compiled projects to \bin folder of your IDE.
EurekaLog filesEurekaLog files which are used for your applications are located in
\Source\Commonfolders. The simplest way to re-create .dcu/.obj files for these files - is to compile run-time package (EurekaLogCore) as explained above. This will create set of .dcu/.obj files in corresponding subfolder under
If you do not want one-time recompilation, but want to constantly use actual .pas files, so you recompile EurekaLog each time you compile your project(s) - then you should do this:
- Remove existing .dcu/.obj files for EurekaLog (as explained above) and for your project(s).
\Source\Commonfolders to library search paths of your project or IDE (to make this change global for all projects). You should add these folders to library search paths, not to browsing search path (as it's by default).
- Compile your project. This will use .pas files from
Sourcefolder. EurekaLog will be recompiled each time you compiled your project. .dcu/.obj files will be placed to units output folder of your project (as set in its options).
Final notesEurekaLog does not contain source code for ZLib library. To recompile .obj files from \Lib\Obj folder - you must obtain source code for ZLib library. It's open-source cross-platform freeware library written in C. See official web-site.
EurekaLog contains only Delphi source code (.pas). C++ Builder support is implemented as compilation of Delphi files with C++ Builder. There are no .cpp/.hpp files. All shipped .obj/.hpp/.lib files are auto-generated from .pas files. All EurekaLog projects have "Generate C++ files" option turned on.
EurekaLog Viewer Tool uses DevExpress components. They are not included with EurekaLog. To recompile Viewer you must have DevExpress components installed. Viewer uses Express QuantumGrid, Express Printing System and ExpressBars.
Currently source code for EurekaLog Tools are not included in EurekaLog as it's a separate package (EurekaLog Tools Pack).