Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 188
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
Soru, başka bir sınıfın nesnesi (bu durumda, CTimer) bu sınıfın bir özelliği (değişkeni) olsa bile, bir işaretçi kullanarak statik olmayan bir sınıf yönteminin nasıl çalıştırılacağıdır.
yapamazsınız .... elbette, başka bir nesneye bir işaretçi iletebilir ve oradaki işaretçiyi yöntemi çağırmak için yeniden adlandırabilirsiniz .... ancak yöntemin adını bilmeniz gerekir, IMHO kafa karıştırıcı bir sistem dönecek dışarı
Not: ama dün yazdım, @fxsaber örneğini kullanın ve devralın, her sınıf OnTimer öğesini çağırır, hangi zamanlayıcının hangi zamanlayıcı aralığına sahip olduğunu kontrol etmek için döngüde yalnızca temel sınıfta kalır ve statik yöntemde ana zamanlayıcıyı başlatır
Soru, başka bir sınıfın nesnesi (bu durumda, CTimer) bu sınıfın bir özelliği (değişkeni) olsa bile, bir işaretçi kullanarak statik olmayan bir sınıf yönteminin nasıl çalıştırılacağıdır. Ve mümkün mü? Korkarım öyle değil.
- şablonlar
- arayüzler
şablonlar:
zamanlayıcının kendisinin uygulaması yoktur, yalnızca statik olmayan bir işlevin nasıl çağrılacağına dair bir örnek (doğrudan foruma yazıldı, kontrol edilmedi)
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MT5 ve iş başında hız
fxsaber , 2020.10.04 11:56
Fren makinesinde bir programın çalışıp çalışmadığını belirler.
Soru, başka bir sınıfın nesnesi (bu durumda, CTimer) bu sınıfın bir özelliği (değişkeni) olsa bile, bir işaretçi kullanarak statik olmayan bir sınıf yönteminin nasıl çalıştırılacağıdır. Ve mümkün mü? Korkarım öyle değil.
Genel olarak, şöyle görünür:
Liba'yı buradan indirin: https://github.com/sva04091979/STD/tree/TimerEvent. TimerEvent şubesi henüz master ile birleştirilmedi.
yapamazsınız .... elbette, başka bir nesneye bir işaretçi iletebilir ve oradaki işaretçiyi yöntemi çağırmak için yeniden adlandırabilirsiniz .... ancak yöntemin adını bilmeniz gerekir, IMHO kafa karıştırıcı bir sistem dönecek dışarı
Not: ama dün yazdım, @fxsaber örneğini kullanın ve devralın, her sınıf OnTimer öğesini çağırır, hangi zamanlayıcının hangi zamanlayıcı aralığına sahip olduğunu kontrol etmek için döngüde yalnızca temel sınıfta kalır ve statik yöntemde ana zamanlayıcıyı başlatır
Igor, hangi fxsaber kodundan bahsettiğimizi anlamadım
şablonlar:
zamanlayıcının kendi uygulaması yoktur, yalnızca statik olmayan bir işlevin nasıl çağrılacağına dair bir örnek (doğrudan foruma yazıldı, kontrol edilmedi)
Teşekkür ederim. Sınanmış. Hiçbir şey çıkmıyor.
Genel olarak, şöyle görünür:
Liba'yı buradan indirin: https://github.com/sva04091979/STD/tree/TimerEvent. TimerEvent şubesi henüz master ile birleştirilmedi.
Teşekkür ederim. Ancak, bir işaretçi kullanarak statik olmayan bir sınıf yöntemini nasıl çalıştıracağımı da bulamadım.
MQL5 dilinin mevcut durumunda bu sorunun çözümü yok gibi görünüyorHerkese teşekkürler ama sorunu anlaşılmaz bir şekilde formüle etmiş olabilirim ya da kısıtlılıklarımdan dolayı çözümünüzü görememiş olabilirim.
İhtiyaç duyulan şey?
İşte bir gösterge örneği.
CTestTimer sınıfının Timer4 yönteminin ( mavi renkle vurgulanmıştır), şu anda CTimer::NewTimer sınıfına iletilen CTimer sınıfından ( CTimer:: OnTimer yöntem döngüsünde) bir işaretçi kullanılarak başlatılması gerekir. yapıcı, CTestTimer sınıfının bir nesnesi oluşturulduğunda yürütülür.
Ben zaten her şeyi denedim. Bir çıkmazda. Bu yöntemde işaretçiyi almak gerçekten imkansız. C++'da bu şu şekilde çalışır: typedef void (CTestTimer::*TFun)();
Ve bazı garip hata: 'Timer4' - bu işlev türünün işaretçisi henüz desteklenmiyor
"Güle güle" - sanki MQ bu konuyu daha iyi zamanlara erteledi.
Igor, hangi fxsaber kodundan bahsettiğimizi anlamadım
https://www.mql5.com/en/forum/325418/page4#comment_16116740
bu kodun değeri .... peki, kodun herhangi bir yerinde kendi dinamik nesnenizi oluşturabilirsiniz .... ve onu güncelleme konusunda endişelenmeyin ve programdan çıktığınızda çivilenmiş olacaktır.
bu tür zamanlayıcıların sayısı sadece hayal gücü ile sınırlıdır ... Sprite'ı hareket ettirmek istedim - ekranın sol kenarından sağa doğru sürünen ve kendini öldüren bir nesne yarattım - tabiri caizse, tam özerklik
... bir örnek yazmak için çok tembel, ilginç bir görev değil
https://www.mql5.com/ru/forum/325418/page4#comment_16116740
bu kodun değeri .... peki, kodun herhangi bir yerinde kendi dinamik nesnenizi oluşturabilirsiniz .... ve onu güncelleme konusunda endişelenmeyin ve programdan çıktığınızda çivilenmiş olacaktır.
bu tür zamanlayıcıların sayısı sadece hayal gücü ile sınırlıdır ... Sprite'ı hareket ettirmek istedim - ekranın sol kenarından sağa sürünen ve kendini öldüren bir nesne yarattım - tabiri caizse, tam özerklik
... bir örnek yazmak için çok tembel, ilginç bir görev değil
evet hızlıca baktım.
bu anı anlamadım
evet hızlıca baktım.
bu anı anlamadım
Kodun neden şimdi böyle göründüğünü bilmiyorum, ama şöyle olmalıydı:
ancak zamanlayıcı için bu yöntemler gerekli değildir, IMHO
Not: bir nesne kendini bu şekilde öldürebilir
Kodun neden şimdi böyle göründüğünü bilmiyorum, ama şöyle olmalıydı:
ancak zamanlayıcı için bu yöntemler gerekli değildir, IMHO
Not: bir nesne kendini bu şekilde öldürebilir
anladım, teşekkürler ve @fxsaber . Onu kumbarama kaydettim.
Ama tabii ki bu kodda sorumun cevabı yok.