Errores, fallos, preguntas - página 1370

 

A100:

...

Como si en el ejemplo https://www.mql5.com/ru/docs/files/filefindfirst

y la carpeta OK\ contiene más subcarpetas.
Reproducido en el mío. Como solución temporal, la carpeta se identifica por el "\" al final de su nombre.
 
Error de compilación
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)//нет сообщения об ошибке
}

O el error está ahí o no lo está. No hay diferencias significativas entre (1) y (2)

 

Este es el 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);
     }
  }

Quiero hacer un texto translúcido, pero el código se obstina en dibujar un texto y un cuadrado, hay un cambio de color suave en el código...

Cuadrado con canvas.Erase(ColorToARGB(clrNONE,0)); blanco con canvas.Erase(0); black....

¿Qué estoy haciendo mal o cómo hacer que el texto sea translúcido sin que haya cuadros....

 
Vladimir Pastushak:

Este es el código

Quiero hacer un texto translúcido, pero el código se obstina en dibujar un texto y un cuadrado, hay un cambio de color suave en el código...

Cuadrado en canvas.Erase(ColorToARGB(clrNONE,0)); blanco en canvas.Erase(0); black....

¿Qué estoy haciendo mal o cómo hacer que el texto sea translúcido sin que haya cuadros....

¿Por qué sigues cambiando la transparencia?

#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:
Hace poco hice esta pregunta, pero no hubo comentarios de los promotores. ¿Está previsto, o debería hacer una encuesta en el foro sobre si esta característica es necesaria?
Habría que hacer una encuesta, estoy a favor. Pero las propiedades deberían ser tan modernas en C#, pero no en las primeras formas (las hicieron normales después de la versión 2, ¿no?).
 
Alexey Volchanskiy:
Es necesario hacer una encuesta, estoy a favor. Pero debería ser como las propiedades modernas de C#, pero no en las primeras formas (hicieron propiedades normales después de la versión 2, ¿no?).

No creo que sea necesario introducir esto en este idioma, ya que sólo aumentará el número de bichos que tardarán años en ser erradicados.

Sería mejor implementar un mecanismo normal de autorización extendida para Linux, porque si el servidor utiliza el mecanismo de autorización extendida, es imposible conectarse al servidor bajo Wine.

 

¿Por qué un método estático no puede acceder a una variable estática?

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

Mensaje del compilador:

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

Por qué no se puede acceder a una variable estática desde un método estático:

Intenta colocar una variable estática:

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

Intenta colocar una variable estática:

¡Funcionó! Gracias.
 

Queridos desarrolladores

Sistema operativo Linux Mint 17.1, el terminal fue instalado bajo Wine 1.7.35 (MetaEditor 1154). No se puede abrir la ayuda mediante F1, tampoco se puede abrir la ayuda a través del menú -> ayuda. ¿Qué debo hacer en Wine para abrir la ayuda mediante F1?