"10 dakikada MQL5 için DLL kütüphanesi nasıl yazılır ve veri alışverişi yapılır?" makalesinin tartışılması - sayfa 8
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
DLL işlev bildirimi
DLL İşlevi ÇağırmaSon örnekte, dll'de de değişiklikler yapılmış, anladınız mı?
ondan bahsediyorum
Sakıncası yoksa bana da haber ver. Bir dll var, ona bir metin değeri geçiriliyor, çıktıda string türünde bir sayı alıyoruz
Örneğin şöyle:
Bilgi eksikliğinden dolayı dll'yi düzeltemiyorum. Bir dll'ye aktarmak için kodu nasıl doğru biçimlendireceğimi ve nasıl doğru bir şekilde alacağımı söyle . Ve şimdi MT5'te dll'm çalışmıyor.
Şimdiden teşekkür ederim.
Sakıncası yoksa bana da haber ver. Bir dll var, ona bir metin değeri geçiriliyor, çıktıda string türünde bir sayı alıyoruz
Bilgi eksikliğinden dolayı dll'yi düzeltemiyorum. Bir dll'ye aktarmak için kodu nasıl doğru biçimlendireceğimi ve nasıl doğru bir şekilde alacağımı söyle . Ve şimdi MT5'te dll'm çalışmıyor.Şimdiden teşekkür ederim.
Bir DLL'den bir dize döndürerek çalışmayı yeniden kontrol ettim ve x64'te bir hata buldum (birkaç optimizasyonun sunulmasından sonra ortaya çıktı). Düzeltme sonraki yapıya dahil edilecektir.
x64 çalıştırıyorsanız, lütfen derlemenin yayınlanmasını bekleyin.
Ekleyebileceğim tek şey, MQL5'in Unicode dizeleriyle çalışması.
Bir makale yayınlandı MQL5 için 10 dakikada DLL kütüphanesi nasıl yazılır ve veri alışverişi yapılır? :
Yazar: Renat Fatkhullin
Makale için teşekkürler. Kullanıldığı ortaya çıktı.
Yol hakkında harika bir ipucu. Ancak !! VS2010'da DLL yolunun nasıl doğru bir şekilde ayarlanacağını bulmak 10 dakika sürdü.
Benim için şöyle çıktı:
C:\Users\pp\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries
Yolu MetaEditor'dan kopyalamanızı tavsiye ederim.
Veya kendi ortamınızı belirtin (kontrol etmedi).
Ve yine de, çoklu kullanımda nasılız?
Makale için teşekkürler. Tamamen tekrar ettim, ancak uygulama sırasında karşılaştığım şey hakkında birkaç söz istiyorum - bu küçük görünen şeyler beni neredeyse ondan uzaklaştırdı. Açıklığa kavuşturmak istediğim şey (VS2010 + MT5 (32 bit) build 756 + Win 7 Ultimate x64 kullanıyorum):
Aksi takdirde çok da fena olmayan bir yazı... Saygılar!
Örnek 64-bit MT5'te çalışmıyor. Terminal, bunun 32 bit DLL olduğunu ve onu içermediğini belirtir. Ancak Win32 altında (bu örnekte ve diğer tüm örneklerde olduğu gibi - Delphi'de olduğu gibi) - aynı DLL'lerin tümü 32-bit'tir. Bir önceki gönderide olduğu gibi terminalin 64-bit versiyonunu kaldırıp 32-bit versiyonunu kurmak gerekiyor. 64 bit sürüm zorla yüklendiğinden, nasıl yapılacağını da bilmeniz gerekir. MT5 64 bit'in genellikle ölü bir terminal olduğu ortaya çıkıyor, neden piyasaya sürüldüğü belli değil. Sevgili geliştiriciler, mümkünse lütfen MT5 64-bit, 32-bit DLL'ye bağlanmayı mümkün kılın.
Ve teknik olarak imkansız veya zorsa, bu sürümün 32 bit DLL'lerle çalışmayacağının tuzaklarını yazmanız yeterlidir, aksi takdirde kullanıcılar acı çeker ve neyin yanlış olduğunu anlayamaz. Ve açıkça, Kütüphaneler klasörünün terminalin dizinlerinde olmadığını, ancak kim bilir nerede olduğunu ve deneyim olmadan bulamayacağınızı, denemeyin bile. Ve bu arada, tüm göstergeler ve uzmanlar bu gizli yerde bulunur, bu nedenle MT5'i yükledikten sonra bunları unutabilirsiniz - tüm bunların C:\Users\pp\AppData\Roaming gizli klasöründe olduğunu bilmiyorsanız ... . Ve sonra kullanıcı normal yazılmış bir program kurduğunu düşünür ve bu bir aldatmacadır.
Teknik seviyenizi geliştirmelisiniz.
64-bit programlar için 64-bit kitaplıklara ihtiyaç vardır ve 32-bit olanları makul bir çerçeve içinde bağlamanın bir yolu yoktur. 32 bit sürümü yüklemek için yükleyicinin /32 anahtarıyla çalıştırılması gerekir.
Makaleyi yeniden yazacağım ve MetaEditor ve MT4 ve MT5 platformlarında uzun süredir uygulanan harika şeyleri ekleyeceğim. Birçok geliştirici yeni özelliklerin farkında değil.