Download MetaTrader 5

#resource "\\path\\to\\bitmap" not embed bitmap when compile

To add comments, please log in or register
Add the thread to Favorites. Track the changes even faster!
Wemerson Guimaraes
560
Wemerson Guimaraes 2016.07.28 02:13 

Hi, i am trying to compile an expert with bitmap embeded... but not works!

As it's writed on the docs at https://docs.mql4.com/runtime/resources#resource_include i need to declare my resource using the command #resource to embed my resource on the compiled ex4.  But not works!

Below a code i use! 


#resource "\\Images\\logo.bmp"

void CreateLogo()
{
   string filename="\\Images\\logo.bmp";
   
   x=60; y=21;
   BitmapLabelCreate(0, "logo", 0, 60, 21, filename, 285, 226, 0, 0, false, CORNER_LEFT_UPPER, ANCHOR_LEFT_UPPER,clrRed,STYLE_SOLID,1,false,false,true,0);

}

bool BitmapLabelCreate(const long              chart_ID=0,               // ID do gráfico 
                       const string            name="BmpLabel",          // nome da etiqueta 
                       const int               sub_window=0,             // índice da sub-janela 
                       const int               x=0,                      // coordenada X 
                       const int               y=0,                      // coordenada Y 
                       const string            bmpfile="",               // Imagem
                       const int               width=0,                  // coordenada X do escopo de visibilidade 
                       const int               height=0,                 // coordenada Y do escopo de visibilidade 
                       const int               x_offset=10,              // escopo de visibilidade deslocado pelo eixo X 
                       const int               y_offset=10,              // escopo de visibilidade deslocado pelo eixo Y 
                       const bool              state=false,              // pressionada/liberada 
                       const ENUM_BASE_CORNER  corner=CORNER_LEFT_UPPER, // canto do gráfico para ancoragem 
                       const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // tipo de ancoragem 
                       const color             clr=clrRed,               // a cor da borda quando destacada 
                       const ENUM_LINE_STYLE   style=STYLE_SOLID,        // estilo da linha quando destacada 
                       const int               point_width=1,            // mover tamanho do ponto 
                       const bool              back=false,               // no fundo 
                       const bool              selection=false,          // destaque para mover 
                       const bool              hidden=true,              // ocultar na lista de objetos 
                       const long              z_order=0)                // prioridade para clicar no mouse 
  { 
//--- redefine o valor de erro 
   ResetLastError(); 
//--- criar uma etiqueta bitmap 
   if(!ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0)) 
     { 
      Print(__FUNCTION__, 
            ": falha ao criar objeto \"Etiqueta Bitmap\"! Código de erro = ",GetLastError()); 
      return(false); 
     } 
//--- definir as imagens para os modos ligar (On) e desligar (Off) 
   if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,bmpfile)) 
     { 
      Print(__FUNCTION__, 
            ": falha para carregar a imagem para o modo On! Código de erro = ",GetLastError()); 
      return(false); 
     } 
   if(!ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,bmpfile)) 
     { 
      Print(__FUNCTION__, 
            ": falha para carregar a imagem para o modo Off! Código de erro = ",GetLastError()); 
      return(false); 
     } 
//--- definir coordenadas da etiqueta 
   ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); 
   ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); 
//--- definir escopo de visibilidade para a imagem, se os valores da largura ou altura 
//--- excederem a largura e a altura (respectivamente) de uma imagem de origem, 
//--- não será desenhada, no caso oposto 
//--- apenas a parte correspondente a esses valores será desenhada 
   ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); 
   ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); 
//--- definir a parte de uma imagem que está sendo exibida no escopo de visibilidade, 
//--- a parte padrão é a área superior esquerda de uma imagem, os valores permitem 
//--- realizar uma mudança a partir desta área de exibição de uma outra parte da imagem 
   ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset); 
   ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset); 
//--- definir os status da etiqueta(pressionada ou liberada) 
   ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); 
//--- determinar o canto do gráfico onde as coordenadas do ponto são definidas 
   ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); 
//--- tipo de definição de ancoragem 
   ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor); 
//--- definir a cor da borda quando o modo de destaque do objeto é habilitado 
   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); 
//--- definir o estilo de linha quando o modo de destaque do objeto é habilitado 
   ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); 
//--- definir o tamanho do ponto de ancoragem para movimentar o objeto 
   ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width); 
//--- exibir em primeiro plano (false) ou fundo (true) 
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); 
//--- Habilitar (true) ou desabilitar (false) o modo de movimento da etiqueta pelo mouse 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); 
//--- ocultar (true) ou exibir (false) o nome do objeto gráfico na lista de objeto  
   ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); 
//--- definir a prioridade para receber o evento com um clique do mouse no gráfico 
   ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); 
//--- sucesso na execução 
   return(true); 
  } 

 

When i run the expert in other metatrader, the bitmap does not shows... and gives me the error 5020 ( ERR_FILE_NOT_EXIST ). But in documentation, says that i just need to use the #resource precompiled command,then it will embed the bitmap as a resource.

Can you help me to do this ? 

Ex Ovo Omnia
3111
Ex Ovo Omnia 2016.07.28 06:17  
string filename="::Images\\logo.bmp";
Wemerson Guimaraes
560
Wemerson Guimaraes 2016.07.28 19:28  
Ovo:

Wow... great!!!!

 

Thanks my friend! 

To add comments, please log in or register