MetaTrader 4 Build 529 Beta, Yeni Derleyici ile Yayınlandı - sayfa 51

 
Barbarian :

Diğer dersleri denedin mi? Onlar da çalışmıyor mu?

bazılarına baktım ama hepsine değil Gerektiğinde denerim (programı yazarım). bazen daha iyi zamanlara kadar fişleri (çalışmadığı yerlere) koyarım.

Canvas sınıfına baktım ve bu nedenle sınıf yöntemleri MQL5'teki işlevleri kullanıyor. Bu büyük olasılıkla soruna neden oluyor. Örneğin bir yöntem?

muhtemelen henüz MQL4'te uygulanmayan MQL5'ten TextSetFont işlevini kullanır. Yardımın açıklaması zaten orada olmasına rağmen. Muhtemelen uygulamayı unuttu.

Bu arada, geliştiriciler editörde sözdizimi vurgulama konusunda ellerinden gelenin en iyisini yaptılar, aferin. Sınıf yöntemlerini dil işlevlerinden ayırmaya çok yardımcı olur.

bunun farkındayım. 5-6 yapı önce her şey zaten orada çalıştı, örneğin TextSetFont() dahil, bu kod oldukça iyi çalıştı:

    Label = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();

daha sonra kapattı // umarım geçici olarak :)

çalıştığında, şartnameye göre çalıştı.

 
MetaDriver :
bazılarına baktım ama hepsine değil Gerektiğinde denerim (programı yazarım). bazen daha iyi zamanlara kadar fişleri (çalışmadığı yerlere) koyarım.

bunun farkındayım. 5-6 yapı önce her şey zaten orada çalıştı, örneğin TextSetFont() dahil, bu kod oldukça iyi çalıştı:

daha sonra kapattı // umarım geçici olarak :)

çalıştığında, şartnameye göre çalıştı.

Sonra çok garip. İşlevselliği genişletmek için en başından etkinleştirildiyse, devre dışı bırakmak mantıklıdır. Genel olarak, yapılan değişikliklerin ve düzeltilen hataların bir listesini içeren güncellenmiş bir yapı almak gerçekten iyi olurdu. O zaman yeni MT4'ü araştırmak için daha az tarama olurdu.

Bu arada, bir hata yaptın. Yeni operatör, C++'da olduğu gibi ayrılan belleğe bir işaretçi döndürmez. Bunu şu şekilde yapın:

    CCanvas Label; // = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();

veya bunun gibi:

    CCanvas* Label = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();
    
     delete Label;

ve her şey işe yarayacak. Bu konuyla ilgili https://www.mql5.com/en/docs/basis/types/object_pointers bölümünü okuyun. Ayrıca ilk başta C++'ı unutarak tökezledim.

 
artmedia70 :


Topluluk sekmesindeki ayarlarda rumuz ve şifrem giriliyor. Editörün gezgininde ihtiyacım olan dosyayı seçiyorum, içerik menüsünden MQL5 Storage --> Add'i seçiyorum ve gezgindeki dosya adı mavi bir "+" ile işaretleniyor. Eklenmiş gibi görünüyor. Daha önce eklenmiş, ancak daha sonra değiştirilen dosyalar bile bir "!" ile işaretlenmiştir. kırmızı bir daire içinde. Farklar var gibi. Ancak havuzun kendisinde eklenen dosyaları bulamıyorum:

Sorun nedir?


Evet, (depolama) çalışıyor, yüzde 100 olduğu gerçeği değil (belki de sürümleri kaydetmeyi henüz çözemedim), ama çalışıyor.

Sadece üç noktaya tıklayın ... - benim için bu, 2 klasörün bulunduğu ilk klasördür ( proje ve kişisel).

 
ALXIMIKS :


Evet, (depolama) çalışıyor, yüzde 100 olduğu gerçeği değil (belki de sürümleri kaydetmeyi henüz çözemedim), ama çalışıyor.

Üç noktaya tıklamanız yeterlidir ... - benim için 2 klasörün (proje ve kişisel) bulunduğu ilk klasördür.

Elbette bastı. Önceki seviyeye git.
 
artmedia70 :
Elbette bastı. Önceki seviyeye git.


Eklediğiniz dosyalarda onay işareti olan yeşil bir daire var mı?

önce MQL Storeg ==> ekle yoluyla eklemeniz ve ardından RMB ==> düzeltme yoluyla düzeltmek için dosya veya klasöre tıklamanız gerekir.

 
ALXIMIKS :


Eklediğiniz dosyalarda onay işareti olan yeşil bir daire var mı?

önce MQL Storeg ==> ekle yoluyla eklemeniz ve ardından RMB ==> düzeltme yoluyla düzeltmek için dosya veya klasöre tıklamanız gerekir.

Teşekkürler, deneyeceğim. Bunu yapmadım.
 
ALXIMIKS :


Eklediğiniz dosyalarda onay işareti olan yeşil bir daire var mı?

önce MQL Storeg ==> ekle yoluyla eklemeniz ve ardından RMB ==> düzeltme yoluyla düzeltmek için dosya veya klasöre tıklamanız gerekir.

Aynen, haklısın. Yardım etti ;)
 
Barbarian :

Bu arada, geliştiriciler editörde sözdizimi vurgulama konusunda ellerinden gelenin en iyisini yaptılar, aferin.

Evet, renk düzenini gerçekten beğendim. Ben de aynısını stüdyoda istiyorum :-)
 
Barbarian :

Sonra çok garip. İşlevselliği genişletmek için en başından etkinleştirildiyse, devre dışı bırakmak mantıklıdır.

Grafiklerin kodunun radikal bir reformdan geçmesi anlamlıdır. Ve bu muhtemelen doğrudur (çünkü birçok yeni işlev başlatılmalıdır).


Genel olarak, yapılan değişikliklerin ve düzeltilen hataların bir listesini içeren güncellenmiş bir yapı almak gerçekten iyi olurdu. O zaman yeni MT4'ü araştırmak için daha az tarama olurdu.

Bu doğru. İdeal olarak. Aslında, oldukça kaynak yoğun. Tüm değişiklikleri tek bir listede toplayın... farklı kişilerin farklı modüller üzerinde çalıştığı koşullarda..

Bu arada, bir hata yaptın. Yeni operatör, C++'da olduğu gibi ayrılan belleğe bir işaretçi döndürmez. Bunu şu şekilde yapın:

Hayır, orada hata yok, işaretçi yukarıda kodda bildirildi (sadece bir parça gönderdim). Yardım etmeye çalıştığınız için teşekkürler.
 
MetaDriver :
Grafiklerin kodunun radikal bir reformdan geçmesi anlamlıdır. Ve bu muhtemelen doğrudur (çünkü birçok yeni işlev başlatılmalıdır).

Bu doğru. İdeal olarak. Aslında, oldukça kaynak yoğun. Farklı kişilerin farklı modüller üzerinde çalıştığı koşullarda tüm değişiklikleri tek bir listede toplayın..

Hayır, orada hata yok, işaretçi yukarıda kodda bildirildi (sadece bir parça gönderdim). Yardım etmeye çalıştığınız için teşekkürler.

İşaretçinin yukarıda kodda bildirilmiş olması tamamen olmasa da anlaşılabilir bir durum :) Genel olarak kodunuzu düzeltmelerimle başlattım, her iki seçeneğim de çalışıyor. Bu arada, yeni operatörün çalışmasını değiştirirken geliştiricilerin C ++ 'dan farklı olarak neye rehberlik ettiğini hala anlamadım. Bellekteki bir adrese yönelik bir işaretçiyle ilgili olarak, bir tanıtıcı işaretçisinden daha iyi olanın ne olduğunu anlamıyorum.