Erros, bugs, perguntas - página 1370

 

A100:

...

Como se no exemplo https://www.mql5.com/ru/docs/files/filefindfirst

e a pasta OK\ continha mais subpastas.
Reproduziu-a na minha. Como solução temporária, a pasta é identificada pelo "\" no final do seu nome.
 
Erro de compilação
class A {
        void f( int a, long b ) {}
        void f(        long b ) {}
        void g() const;
};
void A::g() const
{
        int a;
        long b;
           f( a, b ); //(1)//error 'f' - no one of the overloads can be applied to the function call 
	A::f( a, b ); //(2)//нет сообщения об ошибке
}

Ou o erro está lá ou não está. Não há diferença significativa entre (1) e (2)

 

Aqui está o código

#property strict
#include <Canvas/Canvas.mqh> CCanvas canvas;
void OnTick()
  {
   string ObjName="test";
   ObjectDelete(0,ObjName);
   if(ObjectFind(0,ObjName)==-1)
     {
      canvas.CreateBitmapLabel(ObjName,100,100,150,150,COLOR_FORMAT_ARGB_NORMALIZE);
      canvas.Erase(ColorToARGB(clrNONE,0));
      canvas.FontSet("Verdana",22);
      canvas.TextOut(10,10,"EURUSD",ColorToARGB(clrBlue,255));
     }
   uchar z=255;

   while(z>0)
     {
      canvas.TransparentLevelSet(z);
      canvas.Update(true);
      z-=5;
      Sleep(50);
     }
  }

Eu quero fazer texto translúcido, mas o código teima em desenhar texto e um quadrado, há uma mudança de cor suave no código...

Quadrado com tela.Erase(ColorToARGB(clrNONE,0)); branco com tela.Erase(0); preto....

O que estou a fazer mal ou como fazer um texto translúcido sem quadrados....

 
Vladimir Pastushak:

Aqui está o código

Eu quero fazer texto translúcido, mas o código teima em desenhar texto e um quadrado, há uma mudança de cor suave no código...

Quadrado em tela.Erase(ColorToARGB(clrNONE,0)); branco em tela.Erase(0); preto....

O que estou a fazer mal ou como fazer um texto translúcido sem quadrados....

Porque é que continua a mudar a transparência?

#property strict #include <Canvas/Canvas.mqh> CCanvas canvas; void OnTick()   {    string ObjName="test";    ObjectDelete(0,ObjName);    if(ObjectFind(0,ObjName)==-1)      {       canvas.CreateBitmapLabel(ObjName,100,100,150,150,COLOR_FORMAT_ARGB_NORMALIZE);       canvas.Erase(ColorToARGB(clrNONE,0));       canvas.FontSet("Verdana",22,FW_BOLD);       canvas.TextOut(10,10,"EURUSD",ColorToARGB(clrBlue,160));

canvas.Update();      }    /*uchar z=255;    while(z>0)      {       canvas.TransparentLevelSet(z);       canvas.Update(true);       z-=5;       Sleep(50);      }*/   }

 
Alexey Navoykov:
Gostaria de saber sobre a perspectiva de introduzir a propriedade (como membro da classe). Fiz esta pergunta recentemente, mas não houve comentários por parte dos promotores. Está planeado, ou devo fazer uma sondagem no fórum para saber se esta funcionalidade é necessária?
Deve ser feita uma sondagem, eu sou a favor. Mas as propriedades devem ser tão modernas em C#, mas não nas formas iniciais (fizeram as normais após a versão 2, não foi?).
 
Alexey Volchanskiy:
É necessário fazer uma sondagem, eu sou a favor dela. Mas deveria ser como as propriedades modernas do C#, mas não nas formas iniciais (fizeram propriedades normais após a versão 2, não foi?).

Penso que isto não precisa de ser introduzido nesta língua, pois apenas irá aumentar o número de bugs que levarão anos a erradicar.

Seria melhor implementar um mecanismo normal de autorização alargada para Linux, porque se o servidor utiliza o mecanismo de autorização alargada, é impossível ligar-se ao servidor em Wine.

 

Porque é que um método estático não pode aceder a uma variável estática:

class CLog
{
private:
   static int a;
public:
   static void A()
   {
      a = 3;
   }
};

Mensagem do compilador:

unresolved static variable 'CLog::a'    Logs.mqh        22      7
 
Vasiliy Sokolov:

Porque não se pode aceder a uma variável estática a partir de um método estático:

Tente colocar uma variável estática:

class CLog
{
private:
   static int a;
public:
   static void A()
   {
      a = 3;
   }
};
int CLog::a;
 
Artem Temnikov:

Tente colocar uma variável estática:

Funcionou! Obrigado.
 

Caros programadores!

Linux Mint 17.1 OS, terminal foi instalado sob Wine 1.7.35 (MetaEditor 1154). Não pode abrir ajuda por F1, também não pode abrir ajuda através de menu -> ajuda. O que devo fazer em Vinho para abrir ajuda por F1?