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

Back to topics list To post a new topic, please log in or register
avatar
127
wemersonrv 2016.07.28 04: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 ? 

 

avatar
1109
Ovo 2016.07.28 08:17 #
 
string filename="::Images\\logo.bmp";
avatar
127
wemersonrv 2016.07.28 21:28 #
 
Ovo:

Wow... great!!!!

 

Thanks my friend! 

Back to topics list  

To add comments, please log in or register