Important Note: please see most recent version of this documentation here.
File layout
EurekaLog 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.
\Lib
folder 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).
\Lib
folder should be mentioned in search paths either in IDE or your project. When you compile your project - precompiled files from \Lib
folder are used. EurekaLog itself is not compiled (which is faster, saves original settings for EurekaLog compilation, does not modify files, UAC-friendly).There are
Debug
and Release
subfolders in \Lib\<platform>
folders.Release
contains files which were compiled with "Use Debug DCUs" option unchecked.Debug
contains 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.
Release
folder (proper IDE subfolder - see below) should be listed in library search paths for IDE or project.Debug
folder (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
Debug
folder will be used (regardless of Debug/Release profile in your application).If your application has "Use Debug DCUs" option unchecked - then files from
Release
folder will be used (regardless of Debug/Release profile in your application).Both
Release
and Debug
folders contain subfolders for various supported IDEs. To map your IDE version to name of folder inside Release
and Debug
folders - see this article.Source
folder should be added to IDE browsing paths options, so IDE will be able to open and show EurekaLog's .pas files.Files from
Packages
folder are copied to \bin folder of your IDE. This is done to avoid altering %PATH% environment variable. I.e. files in Packages
folder 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.
Recompilation
EurekaLog Enterprise comes with full source code, which you can use to recompile EurekaLog. EurekaLog Enterprise contains additional\Projects
folder, 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\Obj\
and \Lib\Common
untouched) 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
Projects
folder. 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
Packages
folder. Compiled units will be placed to corresponding folder underLib
folder (make sure output paths exist).
Packages
folder. To automatically reflect your changes - either copy files from Packages
folder to \bin folder of your IDE or change output path setting of compiled projects to \bin folder of your IDE.EurekaLog files
EurekaLog files which are used for your applications are located in\Source
and \Source\Common
folders. 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 \Lib
folder.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).
- Add
\Source
and\Source\Common
folders 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
Source
folder. 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 notes
EurekaLog 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).