Hatalar, hatalar, sorular - sayfa 1370

 

A100 :

...

https://www.mql5.com/ru/docs/files/filefindfirst örneğinde olduğu gibi

ve OK\ klasörü daha fazla alt klasör içerecektir
Kendim tarafından çoğaltılmıştır. Geçici bir çözüm olarak şimdilik klasörü adının sonundaki "\" karakteri ile tanımlıyorum.
 
Derleme sırasında hata
 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)//нет сообщения об ошибке
}

Ya (hata) vardır ya da değildir. (1) ve (2) arasında önemli bir fark yoktur

 

İşte kod

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

Yarı şeffaf bir metin yapmak istiyorum fakat kod yazı ve kareyi inatla çiziyor, kodda renk düzgün değişiyor...

Tuval üzerine kare.Silme(ColorToARGB(clrNONE,0)); tuval üzerine beyaz.Erase(0); siyah....

Neyi yanlış yapıyorum veya metni kareler olmadan nasıl yarı saydam yapabilirim ....

 
Vladimir Pastushak :

İşte kod

Yarı şeffaf bir metin yapmak istiyorum fakat kod yazı ve kareyi inatla çiziyor, kodda renk düzgün değişiyor...

Tuval üzerine kare.Silme(ColorToARGB(clrNONE,0)); tuval üzerine beyaz.Erase(0); siyah....

Neyi yanlış yapıyorum veya metni kareler olmadan nasıl yarı saydam yapabilirim ....

Neden sürekli şeffaflığı değiştiriyorsun?

#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 :
Mülkiyetin tanıtılması olasılığı hakkında bilgi edinmek istiyorum ( sınıfın bir üyesi olarak ). Son zamanlarda böyle bir soru soruldu, ancak geliştiricilerden herhangi bir yorum gelmedi. Bu planlı mı, yoksa bu özelliğe olan talep hakkında forumda bir anket yapmalı mıyım?
Bir anket yapmak gerekli, ben bunun için varım. Ancak özelliklerin C#'daki modern özellikler gibi olması ve erken formlarda olmaması için (2. versiyondan sonra normal olanları yaptılar mı?)
 
Alexey Volchanskiy :
Bir anket yapmak gerekli, ben bunun için varım. Ancak özelliklerin C#'daki modern özellikler gibi olması ve erken formlarda olmaması için (2. versiyondan sonra normal olanları yaptılar mı?)

Bu dilde tanıtılması gerektiğini düşünmüyorum, çünkü bu yalnızca bir yıldan fazla bir süre boyunca ortadan kaldırılacak hataların sayısını artıracaktır.

Linux için normal bir genişletilmiş yetkilendirme mekanizması uygulasalar daha iyi olurdu, aksi takdirde sunucu genişletilmiş bir yetkilendirme mekanizması kullanıyorsa, Wine altında sunucuya bağlanmak imkansızdır.

 

Neden statik bir yöntemden statik bir değişkene erişemiyorsunuz:

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

Derleyici mesajı:

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

Neden statik bir yöntemden statik bir değişkene erişemiyorsunuz:

Statik bir değişken yerleştirmeyi deneyin:

 class CLog
{
private :
   static int a;
public :
   static void A()
   {
      a = 3 ;
   }
};
int CLog::a;
 
Yardım etti! Teşekkür ederim.
 

Sevgili geliştiriciler!

OS Linux Mint 17.1, terminali Wine 1.7.35 (MetaEditor 1154) altında kurdu. F1 yardım açılmıyor, menü -> yardım üzerinden yardım açmak da imkansız. Yardımın F1 ile açılması için Wine'da ne bükülmeli?