Hatalar, hatalar, sorular - sayfa 1499
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Programlama cehennemine giden yol küresellerle döşenmiştir ." - Steve McConnell
Yerel ve global değişkenlerin (yapıcılar olmadan basit tür veya "karmaşık") gerçek kullanımının eksikliği hakkında bir uyarı eklenecek, ancak bu görevin önceliği düşük.
PC başına bir aktivasyon. Kaç terminal olursa olsun.
Herhangi bir yerde onay var mı?
Alıcı, Ürünü satın alma veya kiralama sırasında Satıcı tarafından belirtilen sayıda Ürün'ü etkinleştirme hakkını elde eder. Örneğin, bir Ürüne satın alma sırasında 20 etkinleştirme izni veriliyorsa, Alıcı, daha sonra Satıcı bu sayıyı azaltsa bile, Ürünü 20 farklı donanım yapılandırmasına yükleyebilir.
https://www.mql5.com/ru/market/rules
Slava, iyi günler, kütüphane hakkında yorum yapabilir misin (yukarıdaki soru)?
Bu şekilde düzeltiyoruz
Bu şekilde düzeltiyoruz
Bu şekilde düzeltiyoruz
Bunu yapmanın amacı ne? Standart kütüphane, kullanıcının istediği gibi değil, yapısının ideolojisine sıkı sıkıya bağlı olarak kullanılmalıdır. Kullanıcı Alexey Kozitsyn bunu yanlış kullanıyor ve çıktıda bir sürü hata alıyor. CCart nesnesini oluşturduktan hemen sonra, Attach yöntemini kullanarak grafiği sınıf nesnesine eklemeniz gerekir. Bu yöntem aşırı yüklenmiştir ve hem mevcut tabloyu hem de istenen grafiği bağlayabilir. Ve Open yöntemine yaptığınız değişiklik, mevcut grafikle çalışma yeteneğini ortadan kaldıracaktır.
Ve standart kütüphanenin geliştiricilerine bir talep - kütüphanenin yapısının bir tanımını yapın. Birçoğu bunu anlamıyor ve hata yapmaya başlıyor ve siz de onların liderliğini takip ederek yaptığınız her şeyi kırmaya başlıyorsunuz.
MT4 standart kitaplığı hakkında soru .
Chart.mqh dosyası
Bir grafik açmak istiyorum. Open(const string symbol_name, const ENUM_TIMEFRAMES timeframe) yöntemini kullanıyorum.
1. Kullanılamayan bir sembol kullanırsanız, ChartOpen() işlevi #4024 - dahili hata hatasını döndürür. Hatanın dahili olabileceğini iddia etmiyorum, ancak çok daha doğru bir hata kodu var - # 4106 - bilinmeyen bir karakter. Belki hata dönüş kodunu değiştirin? Çünkü 4024, geliştiriciye hatayı nerede arayacağına dair hiçbir şey söylemez.
2. Başarısız olursa, ChartOpen() m_chart_id alanını 0'a ayarlar, yani. Mevcut grafikle çalışmaya başladığımız ortaya çıktı, ancak bu doğru değil, çünkü Çalışmak için ihtiyacımız olan programı açamadık. Bu nedenle, Detach() yöntemi çağrılmazsa, mevcut grafik işten sonra kapanacaktır. Ayrıca bunun doğru bir yaklaşım olduğunu düşünmüyorum. Bir hata durumunda ChartOpen() işlevinin -1 döndürmesi daha iyi olurdu.
Bir grafikle çalışmadan önce, Ekle !!! kullanılarak bir sınıf nesnesine eklenmelidir. Mevcut grafikle ( 0 ) çalışmak istemiyorsanız, bu kontrolü uygulayın ve çalışmanızda mevcut grafiğin kullanılmasını yasaklayın.
Ve bir grafikle çalışıp Ayır yöntemiyle kapatmadan çıkmak ne anlama geliyor? Sınıflarınızın yıkıcısına veya OnDeinit'e bir satır yazmak gerçekten zor mu? Nesnelerle çalışmak sıkı bir şekilde kontrol edilmelidir, o zaman hatalardan kaçınırsınız.
Bunu yapmanın amacı ne? Standart kütüphane, kullanıcının istediği gibi değil, yapısının ideolojisine sıkı sıkıya bağlı olarak kullanılmalıdır. Kullanıcı Alexey Kozitsyn bunu yanlış kullanıyor ve çıktıda bir sürü hata alıyor. CCart nesnesini oluşturduktan hemen sonra, Attach yöntemini kullanarak grafiği sınıf nesnesine eklemeniz gerekir. Bu yöntem aşırı yüklenmiştir ve hem mevcut tabloyu hem de istenen grafiği bağlayabilir. Ve Open yöntemine yaptığınız değişiklik, mevcut grafikle çalışma yeteneğini ortadan kaldıracaktır.
Ve standart kütüphanenin geliştiricilerine bir talep - kütüphanenin yapısının bir tanımını yapın. Birçoğu bunu anlamıyor ve hata yapmaya başlıyor ve siz de onların liderliğini takip ederek yaptığınız her şeyi kırmaya başlıyorsunuz.
Bunu yapmanın amacının ne olduğunu yukarıda açıkça yazdım. Bir grafik açılırken bir hata meydana gelirse (örneğin, yanlış bir sembol belirtilirse), o zaman, herhangi bir nedenle, Attach(void) yöntemine benzer şekilde, Open() yöntemi geçerli grafiğin tanımlayıcısını nesne. Neden empoze etsin? Mevcut grafikle çalışmak istersem, dediğin gibi, Attach(void) { m_chart_id=ChartID(); } ve bu kadar. Ve burada, bir nedenden dolayı yanlış şeyle çalışmaya başladığım açıkça hatalı bir durumla karşılaşıyoruz. Genel olarak, bu ChartOpen() işlevinin kendi sorunudur, ancak değiştirmeyecekleri için en azından kitaplıkta değiştirmelerine izin verin.
Başka bir argüman. Mantıklı düşün. Yöntemin adı Open(). Yeni bir şeyin açılacağı anlamına gelir! Ve bu yenisiyle çalışmaya başlayacağız. Ve burada eskisi ile çalıştığımız ortaya çıktı. Ben mantığı göremiyorum. Ve bu yanlışlığı bir amaç için kullanıyor gibisin.
Bu yöntem aşırı yüklenmiştir ve hem mevcut tabloyu hem de istenen grafiği bağlayabilir. Ve Open yöntemine yaptığınız değişiklik, mevcut grafikle çalışma yeteneğini ortadan kaldıracaktır.
Ne öldürecek? Yine de Attach () yöntemine sahip olacaksınız, daha önce yaptığı gibi yapacak. Dediğiniz gibi, Open() işlevi tarafından döndürülen tanımlayıcıyı kontrol edin ve 0'dan küçükse, Attach(void) yöntemini çağırın. Herşey. Ancak, hemen Ekle (void) yöntemini çağırabilir ve mevcut tabloyu ekleyebilirseniz, böyle bir bahçenin neden çitle çevrilmesi gerektiği açık değildir.
Belki seni anlamıyorum. Sonra bir örnek verin.
Ve standart kütüphanenin geliştiricilerine bir talep - kütüphanenin yapısının bir tanımını yapın. Birçoğu bunu anlamıyor ve hata yapmaya başlıyor ve siz de onların liderliğini takip ederek yaptığınız her şeyi kırmaya başlıyorsunuz.