Lightweight DLL profile includes the following options:
(bold lines are mandatory for profile; normal lines are optional - they are set by default, but can be altered later)
This profile is for DLL which is supposed to be used in any EurekaLog-enabled application. No EurekaLog code will be injected in this project. Only EurekaLog's data will be injected into target DLL file.
This profile will install callbacks back to host for basic functions, so you may use EBase and EAppDLL units to invoke EurekaLog (see also this article). Non-Embarcadero DLLs should implement a similar service OR handle exceptions by themselves (without EurekaLog's assist).
Note: your project must be DLL, not exe.
Important notes: 1. Lightweight DLL profile is designed to exclude EurekaLog code from executable. This means that most EurekaLog options will have no effect for a project with lightweight DLL profile. For example, dialog settings will be ignored, since there is no dialog code in DLL compiled with this profile. Dialog code will be in EurekaLog-enabled host. Thus, you should adjust options of the host. However, some options will still affect DLL. For example, project type hooks (such as VCL forms, etc.), memory manager, compilation options, and debug information options.
2. Do not include EurekaLog units into project compiled with lightweight DLL profile (such as ExceptionLog7, EExceptionManager, EClasses, EModules, etc.). This is not supported and will result in termination of your application at run-time. In particular, do not link lightweight DLL project with EurekaLogCore run-time package.
3. You may use EBase, EAppDLL, EDLLs, ETypes, EMemLeaks, EResLeaks, and ELowLevel units in lightweight DLLs.
See also:
|