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
Bir fonksiyona gerçek bir işaretçi almanın mümkün olup olmadığını merak ediyorum. Typedef kullanılarak elde edilen işaretçiler mql programı içinde mükemmel çalışıyor. Ama ne yazık ki dll içine aktarmayı başaramadım.
C++ + built-in assembler biliyorsanız ve stack'e neyi nasıl koyacağınızı biliyorsanız ve far ve near call terimleri açıksa deneyebilirsiniz. Çalışacağını garanti edemem ama mümkün.
Hata nerede?
Koddaki örneğiniz oldukça farklı. Adresten değer almaya çalışıyorum.
Makalede bir örnek var.
Koddaki örneğiniz oldukça farklı. Adresten değer almaya çalışıyorum.
Makalede bir örnek var.
Adres ile yazıldığı yerleri vurguladım. Ancak makaledeki bu örnek de çökmeye neden oluyor.Ne istediğinizi hemen anladım. WinAPI fonksiyonlarından dönen adresin MQL5'te kullanılamayacağına eminim. Ancak adres argümanlara doğru bir şekilde aktarılır.
Argümanda alınan adresi gösteren ve döndüren basit bir DLL yazarak kesinlikle emin olabilirsiniz. Ve sonucu MQL5'te karşılaştırın. Burada birçok kişi C kullanıyor.
Hata nerede?
Seninki düzeltildi:
Her yerde 4 veya daha az uzunluğa sahip olmalısınız
2 GB'den fazla kopyalama çalışıyor
Dizinin başlangıç adresini alır:
Koddaki örneğiniz oldukça farklı. Adresten değer almaya çalışıyorum.
Makalede bir örnek var.
Adres ile yazıldığı yerleri vurguladım. Ancak makaledeki bu örnek de çökmeye neden oluyor.Tabii ki yapar... prototipler 4'ten (32 bit adres a la unsigned int) ve bunları 5'te derler / çalıştırırsınız (64'e sahiptir).
WinAPI kullanırsanız kimseye güvenemezsiniz - prototipleri kendiniz yazın. Ya da kendi DLL'inizi yazmak, winapi'yi çekmesine izin vermek ve mql'de üst katta daha yüksek seviyeli arayüzler vermek daha iyidir
2 GB'den fazla kopyalama çalışıyor
Dizinin başlangıç adresini alır:
64bit adresle ilgili noktayı kaçırmışım. Ama düzeltilmiş adresle hala çöküyorum. Çalışması gerektiğinden emin misiniz? Düzeltilmiş fxsaber kodunun tam bir örneğini görebilir miyim?
Şimdiye kadar hala kendi görüşümdeyim - WinAPI'den gelen adres MQL ile uyumsuz.
Seninkini düzelttim:
Elbette öyle... prototipler 4'ten (32 bit adres a la unsigned int) ve 5'te (64'e sahiptir) derlenir / çalıştırılır.
Teşekkürler, şimdi çalışıyor.
Son parametre (cnt olan) de 64 bittir. Bu size_t
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy