Caution: this is old EurekaLog 6 documentation. This is not the latest version.
EurekaLog includes an "ExceptionActionNotify" event for interaction with the user program when an exception is raised and is being handled by EurekaLog. This user-supplied routine is called at each of several points within the EurekaLog system.
The syntax of this event is:
procedure MyActionNotify(EurekaExceptionRecord: TEurekaExceptionRecord; EurekaAction: TEurekaActionType; var Execute: Boolean);
To use this event you must create a routine with the indicated parameters and assign it to the ExceptionActionNotify EurekaLog variable, as shown in the following example:
uses ExceptionLog, ECore, ETypes; // The required units...
// This is a normal procedure (not a method)... procedure MyActionNotify(EurekaExceptionRecord: TEurekaExceptionRecord; EurekaAction: TEurekaActionType; var Execute: Boolean); begin ... ... // Your code... ... end;
begin // Assign ExceptionActionNotify variable to MyActionNotify procedure... ExceptionActionNotify := MyActionNotify; end.
The user-supplied routine is called at each of nine action points within EurekaLog:
atShowingExceptionInfo (before): call made before showing exception information. atShowedExceptionInfo (after) : call made after showing exception information. atSavingLogFile (before): call made before saving Log File. atSavedLogFile (after) : call made after saving Log File. atSendingEmail (before): call made before sending Email. atSentEmail (after) : call made after sending Email. atSendingWebMessage (before): call made before sending Web message atSentWebMessage (after) : call made after sending Web message atTerminating (before): call made before terminating application (click 'Terminate' button).
If you set the "Execute" parameter to False in a before action, the standard EurekaLog action will not be executed when your routine returns control to EurekaLog. In after actions, the "Execute" parameter can be used to check if the action was performed successfully.
Note: to simplify management of your EurekaLog events, you can use the TEurekaLog.OnExceptionActionNotify event.
|