"Yönetilmeyen dışa aktarmaları kullanarak C# kodunu MQL5'e gösterme" makalesi için tartışma - sayfa 5
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
64 win 8 kullanıyorum.
vs2013 ile derledim.
Ancak, yükleniyor, ancak çözülmemiş bir içe aktarma işlevi çağrısı var.
Bunu nasıl çözebilirim?
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) çözümlenmemiş içe aktarma işlevi çağrısı
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) 'Testme.dll' içinde 'Add' bulunamıyor
2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: cannot call function 'sum' from dll 'NN 1 DLL.dll' (error 127)
Merhaba,
Benzer hatalar alıyorum. Bunu nasıl çözdünüz?...
2014.03.28 22:16:41.199 2014.03.25 23:59 çözümlenmemiş içe aktarma işlevi çağrısı
2014.03.28 22:16:41.199 2014.03.25 23:59 'Testme.dll' içinde 'Set2DArray' bulunamıyor
Anladığım kadarıyla RGiesecke UnmanagedExportLibrary şablonu...
Bu mesaj yarım yıl önce bırakılmış. O zamandan beri bir şey değişti mi????
Birinci yöntem:
64 win 7, vs2012 C# programım var. Sahibinin testme.zip şablon dosyasını indirdim.
Komut isteminin ortasında birkaç hata (yanlış yol, eksik dosyalar, vb. vb.) çözüldü.
Ancak sonunda, hala aynı sorun ortaya çıkıyor ve üst katta. Şimdi çözülüp çözülmediğini bilmiyorum? Çözmek için hangi yöntem.
İkinci yöntem:
NuGet RGiesecke paketini yükledi.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
201311 tarihli en son sürüm şunları ister
Hata 2 C:\Users\Administrator\AppData\Local\Temp\tmp8B24\dllTest.il(58) : error : syntax error at token '{ ' içinde: {
dllTest
IJW yardımıyla C++ striptizci kullanabilir ve ardından her şeyi yalnızca derleyici - bağlayıcı aracılığıyla tek bir DLL'de birleştirebilirsiniz, makalede açıklanan şablonla saptırmalar gerekli değildir, burada kısaca açıklanmıştır - http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file.
Peki, ve RGiesecke şablonu ile açıklanan yöntem - bu bir hack ve er ya da geç çalışmayı durdurur, bu arada ben de çalışmadım ...Ancak birisi hala makalede açıklanan IL yöntemiyle oynamak istiyorsa, bir bisiklet daha var, ancak o da çalışmıyor - https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool.
Merhaba,
İçinde string değişkenleri olan bir yapıyı dll'e gönderebilen oldu mu?
İnt, double, float gönderebildim, ancak string değişkenler için bu hatayı alıyorum:
Access violation read to 0x0000007Bİşte benim C# yapım:
Ve burada mql4 yapısı:
Yapının içindeki string değişkenini marshal etmeye çalıştım ama MT4 tamamen çöküyor, hata yok sadece kilitleniyor ve pencerelerde eziliyor.
Teşekkür ederim.
Evet, bir süre sonra DLL kullanımı hakkında yeni bir makale yazacağız. Oraya pek çok ilginç şey eklendi.
Bu arada, tartışılan makaledeki örnekleri kullanabilirsiniz. Orada karmaşık bir şey yok.
Ve ... Ne kadar bekleyeceğiz? Bir yıl mı, iki yıl mı. yoksa 10 mu?
Zaten 3 yıl oldu. En başta bahsedilen makaleye göre dll' den metot almak mümkün değil. Örnekler nerede?
Bu makale için çok teşekkür ederim. C# için bu açık kaynaklı MQL kütüphanesini oluşturmak için buradaki fikirleri kullandım.
https://github.com/jseparovic/MQL4CSharp
Hala geliştirilme aşamasında ve şu anda test edilmedi, ancak ilk testler fikrin işe yaradığını gösteriyor.
C# kodunun çalışması için bir Thread ve iletişim için getters/setters kullanarak C#'tan komutları nasıl gönderdiği çok basittir. MQL her milisaniyede bir bekleyen komutları sorgularken, C# kodu sonuç yazılana kadar bloke edebilir.
C#'ta bir stratejinin nasıl uygulanacağına dair bir örnek için https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs adresine bir göz atın.
Şerefe,
Jason