Fehler, Irrtümer, Fragen - Seite 1370

 

A100:

...

Wie in dem Beispiel https://www.mql5.com/ru/docs/files/filefindfirst

und der Ordner OK\ enthielt weitere Unterordner.
Ich habe es in meinem Bericht wiedergegeben. Als Übergangslösung wird der Ordner durch das "\" am Ende seines Namens gekennzeichnet.
 
Kompilierungsfehler
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)//нет сообщения об ошибке
}

Entweder ist der Fehler vorhanden oder nicht. Es gibt keinen signifikanten Unterschied zwischen (1) und (2)

 

Hier ist der Code

#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);
     }
  }

Ich möchte durchscheinenden Text erstellen, aber der Code zeichnet stur Text und ein Quadrat, es gibt einen sanften Farbwechsel im Code...

Quadrat mit canvas.Erase(ColorToARGB(clrNONE,0)); weiß mit canvas.Erase(0); schwarz....

Was mache ich falsch oder wie kann ich durchscheinenden Text ohne Quadrate machen....

 
Vladimir Pastushak:

Hier ist der Code

Ich möchte durchsichtigen Text erstellen, aber der Code zeichnet stur Text und ein Quadrat, es gibt einen sanften Farbwechsel im Code...

Quadrat bei canvas.Erase(ColorToARGB(clrNONE,0)); weiß bei canvas.Erase(0); schwarz....

Was mache ich falsch oder wie kann ich durchscheinenden Text ohne Quadrate machen....

Warum ändern Sie ständig die Transparenz?

#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:
Ich würde gerne wissen, wie es mit der Einführung von Eigentum (als Klassenmitglied) aussieht. Ich habe diese Frage kürzlich gestellt, aber es gab keine Kommentare von den Entwicklern. Ist es geplant, oder soll ich eine Umfrage im Forum machen, ob diese Funktion benötigt wird?
Eine Umfrage sollte durchgeführt werden, ich bin dafür. Aber Eigenschaften sollten in C# modern sein, aber nicht in den frühen Formen (sie machten normale nach Version 2, nicht wahr?).
 
Alexey Volchanskiy:
Es ist notwendig, eine Umfrage zu machen, ich bin dafür. Aber es sollte wie moderne C#-Eigenschaften sein, aber nicht in frühen Formen (sie machten normale Eigenschaften nach Version 2, nicht wahr?).

Ich glaube nicht, dass dies in dieser Sprache eingeführt werden muss, da es nur die Zahl der Fehler erhöhen wird, deren Ausmerzung Jahre dauern wird.

Es wäre besser, einen normalen erweiterten Autorisierungsmechanismus für Linux zu implementieren, denn wenn der Server einen erweiterten Autorisierungsmechanismus verwendet, ist es unmöglich, sich unter Wine mit dem Server zu verbinden.

 

Warum kann eine statische Methode nicht auf eine statische Variable zugreifen?

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

Compiler-Meldung:

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

Warum man von einer statischen Methode aus nicht auf eine statische Variable zugreifen kann:

Versuchen Sie, eine statische Variable zu platzieren:

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

Versuchen Sie, eine statische Variable zu platzieren:

Es hat geklappt! Ich danke Ihnen.
 

Liebe Entwickler!

Linux Mint 17.1 OS, Terminal wurde unter Wine 1.7.35 (MetaEditor 1154) installiert. Die Hilfe kann nicht mit F1 geöffnet werden, auch nicht über Menü -> Hilfe. Was muss ich in Wine tun, um die Hilfe mit F1 zu öffnen?