This is a wrapper for Windows.MessageBox function. It is an efficient, simple and reliable dialog type.
Note: error messages in dialogs are controlled by nested exceptions behaviour options.
This dialog type displays error message in a popup window: the default message box. For example:
EurekaLog's MessageBox dialog in standard mode
Compare it with the default error message in VCL Forms application (see also: RTL dialog):
Standard error message in VCL Forms application
You can enable "Detailed mode" to get a little more descriptive error message - by including a compact call stack:
EurekaLog's MessageBox dialog in detailed mode
If you uncheck the "Use native message box" option - then the error message will always be displayed via Windows.MessageBox function. If you check the "Use native message box" option - then the error message will be displayed via EAppType.MessageBox function.
What does it mean? By default "native" style is the same Windows.MessageBox function. However, some types of application (currently it's a console and web) overrides this to custom routines. For example, "native" message box in console application - it's an output to console. A "native" message box for IntraWeb application - it's a scripted dialog (via WebApplication.ShowMessage).
Here is how it looks for console application:
"Use native message box" is unchecked
"Use native message box" is checked
Both "Use native message box" and "Detailed mode" are checked
Message box type dialog is never ask user for e-mail or "steps to reproduce". The default behaviour is to store empty "steps to reproduce", use default user e-mail and send screenshot, if it was created (specified in send options). Default user information is extracted via GetUserEMail, GetUserFullName and GetUserName functions. You can set default user e-mail by calling SetUserEmail function.
If you setup report sending and enable "Ask user for send consent" option - then message box will ask user for their consent before sending bug report to developer - by showing question "Do you want to send report" and presenting "Yes" and "No" buttons.
If "Ask user for send consent" option is unchecked - then message box will looks like above. If "Ask user for send consent" option is checked - message box will looks like this:
Non detailed mode with asking for consent
Detailed mode with asking for consent
Non detailed console application with "native" message box and asking for consent
Default choice is selected by enabling/disabling "Default choice: send report" option. If this option is checked - the default choice is "send the report". If this option is unchecked - then the default choice is "do NOT send the report".
Note: what's the difference between console dialog type and message box dialog type with "native" mode? The message box dialog tries to be as much similar to popup message box window as possible. I.e. it displays the same information and it asks for confirmation - pressing "Enter" in console is like clicking on "OK" button in the message box. On the other hand, console dialog type doesn't try to be similar to anyone. It displays its own set of information and it doesn't wait for user, until it needs user's answer.
Constants: edtMessageBox, edtMessageBoxDetailed.