Hatalar, hatalar, sorular - sayfa 2011

 
Bu tür dizilerin akıllıca başlatılamayacağını doğru anlıyor muyum?
 class A {};

A* const Array[] = { NULL };

Ve yalnızca işlevlere/yöntemlere giriş parametreleri olarak anlamlı mı?

 void f( const A* const &Array[] );
 

MT4 yapı 1090

 void OnStart ()
{
   ResetLastError ();
   ObjectCreate ( ChartID (),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   ObjectCreate ( ChartID (),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   Print ("Ошибка повторного создания объекта на ТЕКУЩЕМ чарте Error=", GetLastError ());
   ObjectDelete ( ChartID (),"SomeName");

   ResetLastError ();
   ObjectCreate ( ChartFirst (),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   ObjectCreate ( ChartFirst (),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   Print ("Ошибка повторного создания объекта на ПЕРВОМ чарте Error=", GetLastError ());
   ObjectDelete ( ChartFirst (),"SomeName");

   ResetLastError ();
   ObjectCreate ( ChartNext ( ChartFirst ()),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   ObjectCreate ( ChartNext ( ChartFirst ()),"SomeName", OBJ_ARROW , 0 , 0 , 0 );
   Print ("Ошибка повторного создания объекта на НЕ ТЕКУЩЕМ чарте Error=", GetLastError ());
   ObjectDelete ( ChartNext ( ChartFirst ()),"SomeName");

   ResetLastError();
   ObjectCreate(0,"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(0,"SomeName",OBJ_ARROW,0,0,0);
   Print("Ошибка повторного создания объекта на ТЕКУЩЕМ чарте Error=", GetLastError ());
   ObjectDelete(0,"SomeName");
   
   ResetLastError();

   Print (" __MQL4BUILD__ = ", __MQL4BUILD__ ," TERMINAL_BUILD = ", TERMINAL_BUILD );
}

GEÇERLİ çizelgede nesne yeniden oluşturulurken hata oluştu Hata =4200


GEÇERLİ DEĞİL grafiğinde bir nesneyi yeniden oluştururken hata oluştu Hata=0

Böcek?
 

Komut dosyasını kontrol edin:

Tüm terminal çizelgelerini gözden geçirecek, tekrarlanan bir ada sahip bir nesne oluşturacak ve günlüğe bir hata verecektir.

Oluşturulan nesnenin arama hızını hemen grafikte kontrol edecektir.

 void OnStart ()
  {

   Print ( "__MQL4BUILD__ = " , __MQL4BUILD__ , " TERMINAL_BUILD = " , TERMINAL_BUILD );

   ResetLastError ();
//--- переменные для идентификаторов графиков 
   long currChart,prevChart= ChartFirst ();
   int i= 0 ,limit= 100 ;
   Print ( "ChartFirst = " , ChartSymbol (prevChart), " ID = " ,prevChart);
//создадим дублирующий объект для графика и выведем ошибку
   ObjectCreate (prevChart, "SomeName" , OBJ_ARROW , 0 , 0 , 0 );
   ObjectCreate (prevChart, "SomeName" , OBJ_ARROW , 0 , 0 , 0 );
   Print ( " Error on creating duplicate object - GetLastError=" , GetLastError ());
   ObjectDelete (prevChart, "SomeName" );
   ObjectFindSearchBench( 1000 ,prevChart); //SearchBench
   while (i<limit) // у нас наверняка не больше 100 открытых графиков 
     {

      currChart= ChartNext (prevChart); // на основании предыдущего получим новый график 
       if (currChart< 0 ) break ;           // достигли конца списка графиков 
       Print (i, " " , ChartSymbol (currChart), " ID =" ,currChart);
      prevChart=currChart; // запомним идентификатор текущего графика для ChartNext() 
                           //создадим дублирующиеся объекты
       ResetLastError ();
       ObjectCreate (prevChart, "SomeName" , OBJ_ARROW , 0 , 0 , 0 );
       ObjectCreate (prevChart, "SomeName" , OBJ_ARROW , 0 , 0 , 0 );
       Print ( " Error on creating duplicate object - GetLastError=" , GetLastError ());
       ObjectDelete (prevChart, "SomeName" );
      ObjectFindSearchBench( 1000 ,prevChart); //SearchBench
      i++; // не забудем увеличить счетчик 
     }


  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ulong ObjectFindSearchBench( const int Amount= 1 e3, long chart= 0 )
  {
   int b= 0 ,f= 0 ;
   
   ResetLastError ();
   if (chart== 0 ) chart= ChartID ();
   const ulong StartTime= GetMicrosecondCount ();
//создадим объект и потом найдем его Amount раз
   ObjectCreate (chart, "SomeName" , OBJ_ARROW , 0 , 0 , 0 );

   for ( int w= 0 ;w<Amount;w++)
     {
       if ( ObjectFind (chart, "SomeName" )>= 0 )
        {
         b++;
        }
       else f++;
     }
   Print ( "Time to search Object by name " ,Amount, " times is " , GetMicrosecondCount ()-StartTime, " microseconds. ChartID=" ,chart, " found obj: " ,b, " not found obj: " ,f,chart== ChartID ()? " CURRENT CHART" : "" );
   return ( GetMicrosecondCount () - StartTime);
  }

Senaryoyu çalıştırmanın zor olmadığını kendiniz görün, pliz

Günlüğüm:

0 19:51:01,427 CHFJPY.e,H1 testi: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5

0 19:51:01,427 CHFJPY.e,H1 testi: ChartFirst = EURCAD.e ID = 131498872250507535

0 19:51:01,427 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.443 test CHFJPY.e,H1: Nesneyi ada göre 1000 kez arama süresi 15129 mikrosaniyedir. ChartID=131498872250507535 bulunan nesne: 1000 nesne bulunamadı: 0

0 19:51:01.443 CHFJPY.e,H1 testi: 0 EURCAD.e ID =131500664876581320

0 19:51:01.443 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.463 CHFJPY.e,H1 testi: Nesneyi ada göre 1000 kez arama süresi 20278 mikrosaniyedir. ChartID=131500664876581320 bulunan nesne: 1000 bulunamadı nesne: 0

0 19:51:01.463 CHFJPY.e,H1 testi: 1 CADJPY.e ID =131502896347051608

0 19:51:01.463 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01,479 CHFJPY.e,H1 testi: Nesne adına göre 1000 kez arama süresi 15825 mikrosaniyedir. ChartID=131502896347051608 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01,479 CHFJPY.e,H1 testi: 2 EURCAD.e ID =131502897682567227

0 19:51:01,479 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01,529 test CHFJPY.e,H1: Nesneyi ada göre 1000 kez arama süresi 50372 mikrosaniyedir . ChartID=131502897682567227 bulunan nesne: 1000 nesne bulunamadı: 0

0 19:51:01,529 CHFJPY.e,H1 testi: 3 GBPJPY.e ID =131505457001351910

0 19:51:01,529 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.541 test CHFJPY.e,H1: Nesne adına göre 1000 kez arama süresi 11587 mikrosaniyedir. ChartID=131505457001351910 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01.541 CHFJPY.e,H1 testi: 4GBPCHF.e ID=131505572251554422

0 19:51:01.541 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01,554 CHFJPY.e,H1 testi: Nesneyi ada göre 1000 kez arama süresi 13026 mikrosaniyedir. ChartID=131505572251554422 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01,554 CHFJPY.e,H1 testi: 5AUDCHF.e ID=131505732457965009

0 19:51:01,554 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01,567 test CHFJPY.e,H1: Nesneyi ada göre 1000 kez arama süresi 12949 mikrosaniyedir. ChartID=131505732457965009 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01,567 CHFJPY.e,H1 testi: 6 USDCHF.e ID =131506110968531490

0 19:51:01,567 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01,587 CHFJPY.e,H1 testi: Nesne adına göre 1000 kez arama süresi 20701 mikrosaniyedir. ChartID=131506110968531490 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01,587 CHFJPY.e,H1 testi: 7 AUDUSD.e ID =131507551330304303

0 19:51:01,587 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.606 CHFJPY.e,H1 testi: Nesneyi ada göre 1000 kez arama süresi 18558 mikrosaniyedir. ChartID=131507551330304303 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01.606 CHFJPY.e,H1 testi: 8 EURCAD.e ID =131507869928472695

0 19:51:01.606 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.619 CHFJPY.e,H1 testi: Nesneyi ada göre 1000 kez arama süresi 13219 mikrosaniyedir. ChartID=131507869928472695 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01.619 CHFJPY.e,H1 testi: 9 EURAUD.e ID =131507916092399918

0 19:51:01.619 CHFJPY.e,H1 testi: Yinelenen nesne oluşturulurken hata - GetLastError=0

0 19:51:01.632 test CHFJPY.e,H1: Nesne adına göre 1000 kez arama süresi 12294 mikrosaniyedir. ChartID=131507916092399918 nesne bulundu: 1000 nesne bulunamadı: 0

0 19:51:01.632 CHFJPY.e,H1 testi: 10 CHFJPY.e ID=131508222052591588

0 19:51:01.632 CHFJPY.e,H1 testi: Yinelenen nesne oluşturma hatası - GetLastError=4200

0 19:51:01.632 CHFJPY.e,H1 testi: Nesneyi ada göre 1000 kez arama süresi 98 mikrosaniyedir. ChartID=131508222052591588 nesne bulundu: 1000 nesne bulunamadı: 0 GÜNCEL ŞEMA


Arama hızım 100-500 kat farklı...

peki sen?

 
Kirill Belousov :

Komut dosyasını kontrol edin:

Tüm terminal çizelgelerini gözden geçirecek, tekrarlanan bir ada sahip bir nesne oluşturacak ve günlüğe bir hata verecektir.

Oluşturulan nesnenin arama hızını hemen grafikte kontrol edecektir.

Senaryoyu çalıştırmanın zor olmadığını kendiniz görün, pliz


Arama hızım 100-500 kat farklı...

peki sen?


 0        19 : 59 : 35.973     PeriodConverter GBPUSDf,M15: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5
0        19 : 59 : 35.973     PeriodConverter GBPUSDf,M15: ChartFirst = AUDUSDf ID = 130936784496551158
0        19 : 59 : 35.973     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.013     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 32430 microseconds. ChartID = 130936784496551158 found obj: 1000 not found obj: 0
0        19 : 59 : 36.013     PeriodConverter GBPUSDf,M15: 0 USDCADf ID = 130936784496551160
0        19 : 59 : 36.013     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.023     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 11738 microseconds. ChartID = 130936784496551160 found obj: 1000 not found obj: 0
0        19 : 59 : 36.023     PeriodConverter GBPUSDf,M15: 1 GBPAUDf ID = 130936784496551163
0        19 : 59 : 36.023     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.033     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 7645 microseconds. ChartID = 130936784496551163 found obj: 1000 not found obj: 0
0        19 : 59 : 36.033     PeriodConverter GBPUSDf,M15: 2 EURUSDf ID = 130936784496551164
0        19 : 59 : 36.033     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.043     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 8734 microseconds. ChartID = 130936784496551164 found obj: 1000 not found obj: 0
0        19 : 59 : 36.043     PeriodConverter GBPUSDf,M15: 3 EURJPYf ID = 130936784496551165
0        19 : 59 : 36.043     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.053     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 12249 microseconds. ChartID = 130936784496551165 found obj: 1000 not found obj: 0
0        19 : 59 : 36.053     PeriodConverter GBPUSDf,M15: 4 EURCADf ID = 130936784496551166
0        19 : 59 : 36.053     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.063     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 15107 microseconds. ChartID = 130936784496551166 found obj: 1000 not found obj: 0
0        19 : 59 : 36.063     PeriodConverter GBPUSDf,M15: 5 USDCHFf ID = 130936784496551167
0        19 : 59 : 36.063     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 31361 microseconds. ChartID = 130936784496551167 found obj: 1000 not found obj: 0
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15: 6 GBPUSDf ID = 130936784496551169
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 4200
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 156 microseconds. ChartID = 130936784496551169 found obj: 1000 not found obj: 0 CURRENT CHART
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15: 7 AUDCADf ID = 130936784496551170
0        19 : 59 : 36.093     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.103     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 10455 microseconds. ChartID = 130936784496551170 found obj: 1000 not found obj: 0
0        19 : 59 : 36.103     PeriodConverter GBPUSDf,M15: 8 CADCHFf ID = 130936784496551171
0        19 : 59 : 36.103     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.133     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 28968 microseconds. ChartID = 130936784496551171 found obj: 1000 not found obj: 0
0        19 : 59 : 36.133     PeriodConverter GBPUSDf,M15: 9 NZDCADf ID = 130936784496551175
0        19 : 59 : 36.133     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.153     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 18735 microseconds. ChartID = 130936784496551175 found obj: 1000 not found obj: 0
0        19 : 59 : 36.153     PeriodConverter GBPUSDf,M15: 10 NZDCHFf ID = 130936784496551176
0        19 : 59 : 36.153     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.163     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 10593 microseconds. ChartID = 130936784496551176 found obj: 1000 not found obj: 0
0        19 : 59 : 36.163     PeriodConverter GBPUSDf,M15: 11 NZDUSDf ID = 130936784496551178
0        19 : 59 : 36.163     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.193     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 23403 microseconds. ChartID = 130936784496551178 found obj: 1000 not found obj: 0
0        19 : 59 : 36.193     PeriodConverter GBPUSDf,M15: 12 EURNZDf ID = 130936912624549660
0        19 : 59 : 36.193     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.213     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 19404 microseconds. ChartID = 130936912624549660 found obj: 1000 not found obj: 0
0        19 : 59 : 36.213     PeriodConverter GBPUSDf,M15: 13 EURAUDf ID = 130936912624549662
0        19 : 59 : 36.213     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        19 : 59 : 36.213     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 7570 microseconds. ChartID = 130936912624549662 found obj: 1000 not found obj: 0
0        19 : 59 : 36.213     PeriodConverter GBPUSDf,M15: uninit reason 0
0        19 : 59 : 36.223     Script PeriodConverter GBPUSDf,M15: removed


0        20 : 00 : 18.966     Script PeriodConverter GBPUSDf,M15: loaded successfully
0        20 : 00 : 18.986     PeriodConverter GBPUSDf,M15: initialized
0        20 : 00 : 18.986     PeriodConverter GBPUSDf,M15: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5
0        20 : 00 : 18.986     PeriodConverter GBPUSDf,M15: ChartFirst = AUDUSDf ID = 130936784496551158
0        20 : 00 : 18.986     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.036     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 42453 microseconds. ChartID = 130936784496551158 found obj: 1000 not found obj: 0
0        20 : 00 : 19.036     PeriodConverter GBPUSDf,M15: 0 USDCADf ID = 130936784496551160
0        20 : 00 : 19.036     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.046     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 17436 microseconds. ChartID = 130936784496551160 found obj: 1000 not found obj: 0
0        20 : 00 : 19.046     PeriodConverter GBPUSDf,M15: 1 GBPAUDf ID = 130936784496551163
0        20 : 00 : 19.046     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.086     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 33961 microseconds. ChartID = 130936784496551163 found obj: 1000 not found obj: 0
0        20 : 00 : 19.086     PeriodConverter GBPUSDf,M15: 2 EURUSDf ID = 130936784496551164
0        20 : 00 : 19.086     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.096     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 8201 microseconds. ChartID = 130936784496551164 found obj: 1000 not found obj: 0
0        20 : 00 : 19.096     PeriodConverter GBPUSDf,M15: 3 EURJPYf ID = 130936784496551165
0        20 : 00 : 19.096     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.106     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 13671 microseconds. ChartID = 130936784496551165 found obj: 1000 not found obj: 0
0        20 : 00 : 19.106     PeriodConverter GBPUSDf,M15: 4 EURCADf ID = 130936784496551166
0        20 : 00 : 19.106     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.136     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 28041 microseconds. ChartID = 130936784496551166 found obj: 1000 not found obj: 0
0        20 : 00 : 19.136     PeriodConverter GBPUSDf,M15: 5 USDCHFf ID = 130936784496551167
0        20 : 00 : 19.136     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 12396 microseconds. ChartID = 130936784496551167 found obj: 1000 not found obj: 0
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15: 6 GBPUSDf ID = 130936784496551169
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 4200
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 159 microseconds. ChartID = 130936784496551169 found obj: 1000 not found obj: 0 CURRENT CHART
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15: 7 AUDCADf ID = 130936784496551170
0        20 : 00 : 19.146     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.236     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 91767 microseconds. ChartID = 130936784496551170 found obj: 1000 not found obj: 0
0        20 : 00 : 19.236     PeriodConverter GBPUSDf,M15: 8 CADCHFf ID = 130936784496551171
0        20 : 00 : 19.236     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.296     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 53496 microseconds. ChartID = 130936784496551171 found obj: 1000 not found obj: 0
0        20 : 00 : 19.296     PeriodConverter GBPUSDf,M15: 9 NZDCADf ID = 130936784496551175
0        20 : 00 : 19.296     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.378     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 80612 microseconds. ChartID = 130936784496551175 found obj: 1000 not found obj: 0
0        20 : 00 : 19.378     PeriodConverter GBPUSDf,M15: 10 NZDCHFf ID = 130936784496551176
0        20 : 00 : 19.378     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.418     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 42953 microseconds. ChartID = 130936784496551176 found obj: 1000 not found obj: 0
0        20 : 00 : 19.418     PeriodConverter GBPUSDf,M15: 11 NZDUSDf ID = 130936784496551178
0        20 : 00 : 19.418     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.438     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 19186 microseconds. ChartID = 130936784496551178 found obj: 1000 not found obj: 0
0        20 : 00 : 19.438     PeriodConverter GBPUSDf,M15: 12 EURNZDf ID = 130936912624549660
0        20 : 00 : 19.438     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.448     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 9539 microseconds. ChartID = 130936912624549660 found obj: 1000 not found obj: 0
0        20 : 00 : 19.448     PeriodConverter GBPUSDf,M15: 13 EURAUDf ID = 130936912624549662
0        20 : 00 : 19.448     PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError = 0
0        20 : 00 : 19.498     PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 47959 microseconds. ChartID = 130936912624549662 found obj: 1000 not found obj: 0
 
Vitaly Muzichenko :

senka topu al

ona benziyor :)

 
Kirill Belousov :

senka topu al

ona benziyor :)

Hiçbir şey anlamadım ama yine de eğlenceli.

 
Vitaly Muzichenko :

Hiçbir şey anlamadım ama yine de eğlenceli.

Böcek.

NOT CURRENT üzerinde yinelenen bir nesne oluştururken 4200 hatası atılmıyor (ki bu hala geçerli olanı veriyor - [günlükte "GEÇERLİ ŞEKİL"e bakın]),

ve aynı zamanda, GÜNCEL OLMAYAN bir çizelgede bir nesneyi aramanın, mevcut bir çizelgede arama yapmaktan 500 kat daha fazla zaman aldığı tespit edildi.

a :), çünkü buna sahip olan tek kişi ben değilim.

 
fxsaber :
Bu tür dizilerin akıllıca başlatılamayacağını doğru anlıyor muyum?

Ve yalnızca işlevlere/yöntemlere giriş parametreleri olarak anlamlı mı?

 class A {
public :
         void f() {}
};
A* const a[ 10 ] = { NULL };
void OnStart ()
{
        A *aa = new A;
         ((A *)a[ 9 ]) = aa; //нет ошибки при компиляции
               a[ 9 ].f();   //нет ошибки при выполнении
         Print ( a[ 9 ] == aa ); //Результат: false
}

Bunun mümkün olduğunu düşünebilirsiniz, ancak örnekten de görebileceğiniz gibi, ince hatalara yol açar.

 
A100 :
((A *)a[ 9 ]) = aa; //нет ошибки при компиляции

Evet, burada bir derleyici hatası var, ancak yürütme bu noktanın ötesine geçmiyor - geçersiz işaretçi .

Yani, aslında, başlatma imkansızdır.

 
fxsaber :

Evet, derleyici hatası burada, ancak yürütme bu noktanın ötesine geçmiyor - geçersiz işaretçi.

O zaman hata aynı zamanda 32-bit sürümler için (sadece buna sahibim) hatasız yürütmedir. geçersiz işaretçi - yalnızca sınıfa bir üye eklerseniz, örneğin int i