"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 11

 
Seric29 :

Evet, ve onsuz, gördüm ve benim için çalışmıyor, peki, bana orada neyi çoğaltacağımı göster, bana zaten doğru yolda rehberlik et?

https://github.com/Roffild/RoffildLibrary/blob/master/Libraries/Roffild/PythonDLL/public.h

https://github.com/Roffild/RoffildLibrary/blob/c38ba6babd0935704fd30abeb58b953e33ede3e9/Include/Roffild/PythonDLL.mqh#L16

Kodu farklı dosyalarda çoğaltmamak için bu yaklaşımı kullandım.

 
Roffild :

Genel olarak, bunun çok zor olmadığını anlıyorum.

 
Tarihleri ve dizeleri dll'ye iletmek için c++'da hangi kitaplıkların bağlanması gerekir ve ayrıca c++'da renklerle nasıl çalışılır?
 
Seric29 :
Tarihleri ve dizeleri dll'ye iletmek için c++'da hangi kitaplıkların bağlanması gerekir ve ayrıca c++'da renklerle nasıl çalışılır?

Hiçbiri gerekli değildir. __time64_t (tarih saat) ve wchar_t (string) standart türlerdir. Renk için analog - RENKLİ

 
Ihor Herasko :

Hiçbiri gerekli değildir. __time64_t (tarih saat) ve wchar_t (string) standart türlerdir. Renk için analog - RENKLİ

Beyler, ben keçe çizmeyim, bu değişkenin nasıl bildirildiğini ve önerilerinizi kullanarak değerlerin nasıl göründüğünü göstermek gerçekten zor mu? Yani tarihlere göre muhtemelen __time32_t olacaktır çünkü bende 32ka var. __time32_t'nin nasıl bildirildiğini , tarihi depolayan değişkenin nasıl bildirildiğini, tarih değerinin nasıl göründüğünü ve renkler için aynısını gösterin. Bunu dizelerle yaptım

#include<dize>

std::string kullanarak;

string = "123456";

Tarihler için #include <chrono> önerdiler ama işe yaramadı ama renkler konusunda daha da zor tavsiyeler verdiler, onu yazmayacağım bile.

 
Evet?!... . İşte daha dik çizmeler. Aynı kazma ile üç gün; zaten her şeyi değiştirdi, yeniden adlandırdı, yeniden düzenledi, her şeyi büktü, böylece beyin boşluğunda bile böcekler büyümeyi bıraktılar ve girişimlerinin umutsuzluğuna teslim oldular, her şeye tükürdüler ve kendi pahasına bir tatil yapmak için komşulara gittiler; onların geçici müstehcenliklerinden daha havalı bir şey olduğu konusunda kesin bir sonuca varmak: arp çalmak, B bemol majör gürültüsünde tef ve kulak zarı ile balalayka ile dans etmek; açıkça bazı uzaylı melodileri var... ?! Ve bütün mesele şu ki , terminal ayarlarına dahil etmedim: Service\Settings\Advisors\DLL içe aktarmaya izin ver - Kutuyu işaretlemedim. Öyle olmalı... Ve bu çeşitli eylemlerin yığınını anlayamıyorum: belki her şeyi neredeyse her zaman doğru yaptım ..., tüm bu süreci tekrarlamak mümkün olurdu, ama ne ve nasıl yaptığımı hatırlamıyorum ... . Daha kötü olabilirdi... . Burada her şey farklı stüdyolarda çalışıyor ve çalışıyor. (Şu ana kadar) tek anlaşılmaz an, "C" diline bağlanma ve yapılar ve sınıflarla etkileşimler, yani bunlar yol boyunca oraya yerleştirilemezler; ama aklıma "C" yerine "CPP" yazıp denemek gibi bir şey geldi. Yol boyunca, her şeyi bir yere yazmanız gerekiyor ..., muhtemelen. İyi ders. Herkese iyi şanslar. Denedim, bu "CPP" ile çalışmıyor, ancak sınıfın DLL içindeki etkileşimi tamamen işe yarıyor.
Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
Not: Hatalı dosyaları hemen silerim ve bir tür hata yapıldığını neredeyse hatırlamıyorum bile (Bu, kendim bir DLL oluşturacağım zamandır), ama her zaman değil, bir nedenden dolayı mı?!... . Ve onu yakalamamın hiçbir yolu yok. Bazı niteliklerle ve winnt.h kitaplığı ile Windows Kitleri ile bağlantılıdır.Tabii ki, tarayıcı İngilizce bir aramaya çevrilmişse yol boyunca bilgi bulunabilir ve bu nedenle dün biraz arama yapmaya çalıştım ve Başarısız bir şey. Ben şahsen proje ayarlarında bir yerde biraz kimya yapmam gerektiğini veya rastgele bir şey yapmam gerektiğini ve bağlayıcının hareketlerinden çıldırdığını varsayıyorum. Genel olarak, bu hata benim için bilinmeyen sınırın ötesinde olsa da ..., ancak şimdi bir seçenek var, şimdi hızlı bir şekilde demirleme yapmak için bu hatayı veriyor ve kodunuza bakıp analiz ediyor ... . Bunu en kısa zamanda yapacağım. Ama hemen değil, yavaş yavaş, aksi takdirde beyinler tamamen yanacak ve çok azı kaldı. Herkese iyi şanslar. Not: Microsoft Docs'u unuttum ama her şey orada, öyle olmalı, şimdi kısaca baktım ve zaten ilginç bir şey buldum, #define ifadesini bir yere eklemiyorum diyor. İçeride ve ayrıca Dokümanlar'ı da unuttum. Peki, bu Google ....
 
Bir C++ dll'de bir tarih ve renk türü değişkeni nasıl uygulanır? Bir dll'de Print() işlevi nasıl çağrılır, c++'da olmadığı için nasıl değiştirilir?
 
Ihor Herasko :

Hiçbiri gerekli değildir. __time64_t (tarih saat) ve wchar_t (string) standart türlerdir. Renk için analog - RENKLİ


Nasıl çalıştığını bana gösterebilir misin?

 
Seric29 :
Bir C++ dll'de bir tarih ve renk türü değişkeni nasıl uygulanır? Bir dll'de Print () işlevi nasıl çağırılır, c ++'da olmadığı için nasıl değiştirilir?

Print() yalnızca mql4 ve mql5'te kullanılabilen bir işlevdir. Bunun için çıktı aygıtı terminal günlük dosyası olduğundan doğrudan değiştirilemez. Ancak dll'nin bağlı olduğu uzmana (indicator,script) uygun komut gönderilerek dolaylı olarak çağrılabilir. Dll ve uzman arasındaki veri alışverişinin nasıl düzenlendiğine bağlıdır.

Ayrıca, terminal günlüğünde olması gerekmeyen bir yere bir şey yazdırma görevi varsa, bunun için çok sayıda olasılık vardır: bir dosya, bir yazıcı, sonuçta bir ekran.

Neden: