Root > Integral parts > Dialogs > Message box

Message box

Previous pageReturn to chapter overviewNext page   

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.



See also:

Send feedback... Build date: 2022-03-28
Last edited: 2019-03-26
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: