Hatalar, hatalar, sorular - sayfa 1204

 

Hiçbir şey yazdırılmadı

 string g( string str = __FUNCTION__ ) { return ( str ); }
void OnStart ()
{
         Print ( g() );
}

Ve neden?

 
marketeer :
Genel olarak, çalışmanın devamı bu tür sonuçlar verdi. Fare imlecini Piyasa İzleme'deki hisse senetlerinin üzerine getirdiğinizde, gri semboller için Ticaret: No.'nun yazıldığı bir araç ipucu açılır. Ancak siyah olarak gösterilen Rus CFD'leri için, İşlem: Kapat görüntülenir (bir kez daha, zamanın işlem görmekte olduğuna ve sembolün üzerindeki kenelerin şu anda geldiğine dikkatinizi çekiyorum). Buradan, komisyoncunun, yalnızca bazılarının (hatta yalnızca birinin) gri olarak işaretlendiği ve geri kalanının siyah olarak gösterildiği gibi aktif sembollerle ortak bir yığına döküldüğü birkaç ticaret yasağı düzeyine sahip olduğu sonucuna varıyorum.

Kapat Sadece ticaret türünde sadece mevcut pozisyonları kapatmak için izin anlamına gelir. Bu nedenle aktif siyah olarak gösterilir.

Çalışma modları ticaret sunucusunda yapılandırılır.

 
Renat :

Kapat Sadece ticaret türünde sadece mevcut pozisyonları kapatmak için izin anlamına gelir. Bu nedenle aktif siyah olarak gösterilir.

Çalışma modları ticaret sunucusunda yapılandırılır.

"Yalnızca kapat" değil, "Kapat" yazılır. Bu bir hata mı yoksa açıklanamayan başka bir nüans mı var?
 
marketeer :
"Yalnızca kapat" değil, "Kapat" yazılır. Bu bir hata mı yoksa açıklanamayan başka bir nüans mı var?
Burayı kapat, Yalnızca Kapat anlamına gelir. Sadece kısaltılmıştır.
 
class object_line : public CObject
{
public :
   static color line_color_befor;
};
static extern color object_line::line_color_befor = clrGreen ;

void OnChartEvent ( const int id,                            
                   const long & lparam,   
                   const double & dparam, 
                   const string & sparam){
   if (id == CHARTEVENT_OBJECT_CREATE )   
       Alert (object_line::line_color_befor);   
} 

1. Derleme

2. Bir uyarı nesnesi oluştururken - clrBlack

3. 4-ke 670 yapısında kontrol edildi

 
A100 :

Hiçbir şey yazdırılmadı

Ve neden?

Mesaj için teşekkürler.
__FUNCTION__ ve __FUNCSIG__ makrolarını bir fonksiyon gövdesinin dışında kullanamazsınız.

Yeni derleme hatası eklendi: 377 "makro bir işlev gövdesinin dışında görünemez"
 
ALXIMIKS :

1. Derleme

2. Bir uyarı nesnesi oluştururken - clrBlack

3. 4-ke 670 yapısında kontrol edildi

Mesaj için teşekkürler. Derleyicideki hata düzeltildi, kodunuz bir hatayla derlenecek:
'line_color_befor' - redefinition; different type modifiers
Bu hataya geçici bir çözüm bulmak için aşağıdaki kodu kullanın:
 #include <object.mqh>

class object_line : public CObject
{
public :
   static color line_color_befor;
};

color input line_color_param= clrGreen ; //object_line::line_color_befor

static color object_line::line_color_befor = line_color_param;

void OnChartEvent ( const int id,                            
                   const long & lparam,   
                   const double & dparam, 
                   const string & sparam){
   if (id == CHARTEVENT_OBJECT_CREATE )   
       Alert (object_line::line_color_befor);   
} 
 
A100 :

Çalışma zamanı hatası: işaretçilerin yanlış dökümü (977'yi oluşturun, ancak bu daha önce oldu)

Bir şeyi taşırsanız (örneğin, #import bildirimlerini değiştirirseniz) veya 3 yerine 2 dosya yaparsanız veya h() çağrısını kaldırırsanız, belirtilenin yerine başka hatalar oluşur.

Yukarıdaki kod yeniden bağlanırsa, sonunda R::y çağrılır ve L::y çağrılmalıdır.

Daha karmaşık bir versiyonda, modüllerdeki bazı sıradan fonksiyonların kendileri (görünüşe göre diğer kurucular tarafından) statik kuruculardan (!) önce çağrılır (sanki yukarıdaki örnekte f(), X::X'ten önce çağrılır, bu da doğru bir şekilde olur. OnStart'tan önce çağrılır) . Örnek vermeye çalışacağım ama çok büyük dosyalar var. Ama bazen doğru çalışıyor, yani hata benim değil, çünkü nesnelerin oluşturulma sırası derleyicinin kendisi tarafından belirlenir ve ben onu etkileyemem.

Mesaj için teşekkürler Sorun şu ki, anlıyoruz.

UPD : Sabit.
 
mql5 :
Mesaj için teşekkürler Sorun şu ki, anlıyoruz.

UPD : Sabit.

Orada bir hata yaptım https://www.mql5.com/ru/forum/1111/page1221#comment_1070267 , fonksiyonların sanal olduğunu belirtmedim - eğer şimdi R ve L beyan edersek:

 class R { public :
         virtual void y( A* a ) const { PF       ((B *)a).g( 1 ); }
};
class L : public R { public :
         virtual void y( A* a )       { PF       ((B *)a).g( 2 ); }
};
sonra L::y çağrılır, ancak R::y çağrılmalıdır, çünkü bunlar farklıdır - (const ile farklılık gösterirler ve işaretçi R'dir)
 

Her yerde bu sitede indirilenler de dahil olmak üzere tüm brokerlerin terminalleri çalışmayı durdurdu ...

Yeniden başlatma da yardımcı olmuyor, yeniden başlatma ve yeniden yükleme, bundan önce her şey yolunda gitti, bilgisayara hiçbir şey yüklemedim, terminale de hiçbir şey yüklemedim. sadece pazarda alışveriş.