Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // See also: http://pastebin.com/WBYbtbSn - "how to always create ZIP/ELP file"
- // See also: http://pastebin.com/kkb5xkST - "'Save' report instead of sending"
- // Zipped bug report (.elp) is created only for sending.
- // Therefore, only send code has access to zipped bug report.
- // It's not created if no sending is used.
- // This means that if we want to capture/save this file - then we can only do this from send code.
- uses
- ETypes, ESend, EModules;
- type
- // Create a new "send engine".
- // It will be dummy that will perform no actual sending.
- // Instead - it will save all files attachments to folder.
- TDummySender = class(TELUniversalSender)
- public
- function SendMessage: TResponse; override;
- end;
- { TDummySender }
- function TDummySender.SendMessage: TResponse;
- var
- X: Integer;
- begin
- // Copy all files attachments to some folder.
- // Of course, folder must exist and be writable.
- // Usually there is only one file (.elp), but it can be few files - depends on your project options
- for X := 0 to AttachedFiles.Count - 1 do
- CopyFile(PChar(AttachedFiles[X]), PChar('C:\Users\UserName\Documents\BugReports\' + ExtractFileName(AttachedFiles[X])), False);
- // Indicate that "send" was a failure.
- // This will cause EurekaLog to try next send method (if it was set up).
- // If there is no next method - a send error will be reported.
- Finalize(Result);
- FillChar(Result, SizeOf(Result), 0);
- Result.SendResult := srUnknownError;
- // Result.ErrorMessage := ''; // <- you can also customize error message to show to user (if there is no next method configured)
- end;
- initialization
- // Register our class to be used by EurekaLog
- RegisterSender(TDummySender);
- // Ask EurekaLog to send via our class first
- CurrentEurekaLogOptions.AddSenderClass(TDummySender.ClassName, 0 { <- our class will be invoked first });
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement