Hatalar, hatalar, sorular - sayfa 2580
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
1. MQL'de bir işaretçi değil, bir dize kopyalanır.
Bölüm 3.3
2. MQL'de 200 karakterlik bir dizi seçtiniz. Sonra içine 164 karakter kopyaladık. Bundan sonra, MQL'deki dizenin boyutuna bakın. 200'de kaldı.
Boy değil uzunluk! Karakter cinsinden uzunluk, bayt cinsinden boyut.
164 karakterlik bir dizi aldıktan sonra kontrol ettim, evet, uzunluk da 200 olarak kaldı.
Bu konudaki düşünceleriniz nelerdir?
Bunun doğru olması için memcpy'yi terk ettim ve wcscpy veya wcsncpy kullandım.
Sonuç, yukarıya yazınız.
Sizeof( wchar_t* ) demek istedim.
Bölüm 3.3
Benimle tartışmamanız, bu makaleyi daha dikkatli okumanız daha iyi olur. Ve neler olduğunu anlayın.
O zaman hiçbir sorun olmayacak.
Yapmak istediğin şey aslında o kadar da zor değil.
Boy değil uzunluk! Karakter cinsinden uzunluk, bayt cinsinden boyut.
164 karakterlik bir dizi aldıktan sonra kontrol ettim, evet, uzunluk da 200 olarak kaldı.
Bu konudaki düşünceleriniz nelerdir?
Bunun neden olduğu yukarıda zaten açıklanmıştır.
Yapmak istediğin şey aslında o kadar da zor değil.
Peki, o kadar zor değilse söyle.
Yoksa bunun normal bir davranış olduğunu mu düşünüyorsunuz?
Peki, o kadar zor değilse söyle.
Yoksa bunun normal bir davranış olduğunu mu düşünüyorsunuz?
Yani, hiçbir şey anlamayı bile düşünmüyorsunuz, sadece size hazır bir tarif verin ve bu kadar mı?
Sana yükse neden programlama yapman gerektiğini anlamıyorum ama bu senin işin.
Bir soru sorarsanız ve ayrıntılı tekrarlanabilir kod göstermek istemezseniz, birisinin size yardım etmeye istekli olacağını düşünüyor musunuz?
sana ne yazıyorlar ya da okumuyorlar ya da daha fazlasını bilenlerle tartışıyorlar mı?
Bu nedenle, hazır bir tarif olmayacak. DLL'den string almanın genel prensibini yazacağım. Kendinizi bir programcı olarak görüyorsanız, kodu kendiniz yazın.
1. MQL'de bir ushort dizisi oluşturun.
2. Başlatın.
3. Diziyi ve boyutunu DLL'ye iletin.
4. DLL'de, wmemcpy_s() işlevini kullanarak dizeyi bu diziye kopyalayın.
5. DLL'den kopyalanan dizenin uzunluğunu döndürün.
6. MQL'de, ShortArrayToString() işlevini kullanarak bir diziden bir dize oluşturun.
Sunuculardan birinde (MQ değil), MT5 çılgına döner - yüzdeyi %100 yükler ve çeşitli enstrümanlar için günlükte aşağıdaki mesajları yoğun bir şekilde görüntüler:
Grafikler titriyor. Çalışmak imkansız.
Bunu yerel olarak düzeltmek mümkün mü yoksa tek çıkış yolu sunucunun görünüşe göre bazı oyunları bitirmesini beklemek mi?
Yani, hiçbir şey anlamayı bile düşünmüyorsunuz, sadece size hazır bir tarif verin ve bu kadar mı?
Sana yükse neden programlama yapman gerektiğini anlamıyorum ama bu senin işin.
Bir soru sorarsanız ve ayrıntılı tekrarlanabilir kod göstermek istemezseniz, birisinin size yardım etmeye istekli olacağını düşünüyor musunuz?
sana ne yazıyorlar ya da okumuyorlar ya da daha fazlasını bilenlerle tartışıyorlar mı?
Bu nedenle, hazır bir tarif olmayacak. Bir DLL'den string almanın genel prensibini yazacağım. Kendinizi bir programcı olarak görüyorsanız, kodu kendiniz yazın.
1. MQL'de bir ushort dizisi oluşturun.
2. Başlatın.
3. Diziyi ve boyutunu DLL'ye iletin.
4. DLL'de, wmemcpy_s() işlevini kullanarak dizeyi bu diziye kopyalayın.
5. DLL'den kopyalanan dizenin uzunluğunu döndürün.
6. MQL'de, ShortArrayToString() işlevini kullanarak bir diziden bir dize oluşturun.
Buradaki tartışmayı nerede gördünüz? Çalışan bir tartışma var, kibirli pathos ile anlamı bir tavuk kümesine çevirmeye gerek yok.
Kimse sizden hazır bir şey istemedi. İşaretçi ile çözümü bildiğinizi sanıyordum ama hayır, yanılmışım.
Konuyu okumuyorsunuz, diziler hakkında uzun süredir bir tartışma var ve herkes bunun çok iyi farkında.
Ve uzun zamandır dizilere doğru eğiliyorum. Ancak mql'de bir dize olduğu için neden doğrudan kullanmıyorsunuz.
Bu sadece mql dizesindeki bir hata için, içine bir işaretçi kopyalamak, burada bahsediyoruz.
Size daha fazlasını söyleyeceğim, sadece ushort her şeyi çözemez. Diziler için birçok seçenek var.
Ama benim durumumda dizi kullanmak istemiyorum, kod yapısı açısından her zaman mantıklı değil.
Ve dahası, doğrudan çalışabileceğiniz, ancak doğru çalışması gereken bir mql dizesi olduğunda.