Hatalar, hatalar, sorular - sayfa 2675

 
Sergey Dzyublik :

Dahili sınıf kullanılırken şablon sınıfı kod üretimiyle ilgili başka bir MT5(build 2316) hatası.
C++ çevrimiçi: https://onlinegdb.com/HJkKXAqMU

Gönderdiğiniz için teşekkürler, düzeltildi

 
Sergey Dzyublik :

Hata MT5(build 2340) Şablon işlevinin şablon parametresi için dahili sınıfa erişmeye çalışırken derleme hatası .

Gönderdiğiniz için teşekkürler, düzeltildi

 
Ilyas :

Dosya hangi kodlamada?

Standart UTF-8'de

Farklı kodlamalar ve farklı sınırlayıcılarla farklı şekillerde denedim.

Sonuç ya 5008 ya da hiyerogliftir.

 
Sergey Dzyublik :

MT5 derleyicisinin çalışması hakkında sadece iki soru (derleme 2321):

1. MQL'deki şablon işlevlerinin yürütme önceliklerinin C++'daki şablon işlevleriyle uyuşmaması (çevrimiçi: https://onlinegdb.com/Hkvz8Hu7L ).
Bu nedenle, C++'da, üç şablon işlevinin tümü kullanılabilir olduğunda, şablon işlevi "C++:1" sonucuyla yürütülür, kaldırılırsa "C++:2" yürütülür ve kaldırılırsa - "C++: 3".
MQL'de öncelikler tamamen farklıdır: "C++:2", ardından "C++:1" ve "C++:3".


2. MQL'de işlevlerden ilkinin neden yasaklandığı açık değilken, aynı işleve ancak yapay bir parametreyle zaten izin veriliyor:

Gönderdiğiniz için teşekkürler, düzeltildi

 
Vladimir Pastushak :

Standart UTF-8'de

Farklı kodlamalar ve farklı sınırlayıcılarla farklı şekillerde denedim.

Sonuç ya 5008 ya da hiyerogliftir.

Lütfen araştırma için bir dosya içeren bir çalışma kodu sağlayın

 

Site çalışması için:

Kişisel hesabınızdaki bakiyenin görüntülenmesi mümkünse biraz yanlış - düzeltin, aksi takdirde çok fazla sıfır var

Dosyalar:
q1.PNG  12 kb
 
Ilyas :

Lütfen araştırma için bir dosya içeren bir çalışma kodu sağlayın

 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   core();
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {

  }
//+------------------------------------------------------------------+
void core()
  {
   string value = "" , name = "" ;

   name =   "Test\\Test.csv" ;
   Print ( FileIsExist (name));

   ResetLastError ();
 
   int m_hendle = - 1 ;
   m_hendle = FileOpen (name, FILE_READ | FILE_WRITE | FILE_CSV );
   if (m_hendle != INVALID_HANDLE )
     {
       Print (( string )m_hendle + "    " + name + " [" + ( string ) FileSize (m_hendle) + "]" + ( string ) GetLastError ());
       while (! FileIsEnding (m_hendle))
        {
         string sCurrent = FileReadString (m_hendle);
         Print ( "sCurrent = " , sCurrent);
        }
       FileClose (m_hendle);
     }
  }
//+------------------------------------------------------------------+
Dosyalar:
Files.zip  1 kb
 
Sergey Dzyublik :
C++'da derlenir ve her şey çalışır (çevrimiçi: https://onlinegdb.com/Syn90dd7I ), ancak MQL'de hata şudur: "'func' - aşırı yüklenmiş işleve belirsiz çağrı"

Gönderdiğiniz için teşekkürler, düzeltildi

 
Vladimir Pastushak :

Standart UTF-8'de

Farklı kodlamalar ve farklı sınırlayıcılarla farklı şekillerde denedim.

Sonuç ya 5008 ya da hiyerogliftir.

ANSI kodlaması, yalnızca Rusça Windows'ta çalışır

Bir dosyayı açarken FILE_ANSI bayrağını ekleyin

m_hendle = FileOpen (name, FILE_READ | FILE_WRITE | FILE_CSV | FILE_ANSI );
 
Sergey Dzyublik :
MT5 hatası (derleme 2340), bir dahili yapıyı bir şablon işlevine geçirirken, elde edilen veri türü , şablon sınıfındaki başka bir dahili yapı için temel veri türü olarak kullanılamaz:

Gönderdiğiniz için teşekkürler, düzeltildi