Why does MessageBox work in script but fail in indicator?

 
I just added a simple line

MessageBox("Nice Day!","Hello");

seperately in a blank script and a blank indicator. After running the script and indicator,
I found a message box popped out in script but nothing happened in indicator.

Could anybody tell me the reason? Many thanks!!
 
expose please whole source
 
script file:

//+------------------------------------------------------------------+
//|                                                   tempscript.mq4 |
//|                       Copyright ?2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
int start()
  {
   MessageBox("Nice Day!","Hello");
   return(0);
  }



indicator file:

//+------------------------------------------------------------------+
//|                                                tempindicator.mq4 |
//|                       Copyright ?2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
   int    counted_bars=IndicatorCounted();
   MessageBox("Nice Day!","Hello");
   return(0);
  }



Running script file, a message box will be popped out. But indicator file cannot do that.

:(

 
MessageBox in the custom indicator stops interface thread therefore this function is not allowed in the custom indicator. see GetLastError()
 
thanks a lot!
Reason: