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

 
Seric29 :


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

 #include <ctime>
Ve __time64_t, datetime ile aynı olan bir veri türüdür .
 
Ihor Herasko :
Ve __time64_t, datetime ile aynı olan bir veri türüdür .

Yani her değişkenden önce #include <ctime> eklemeniz ve __time64_t yazmanız mı gerekiyor?

 

Genel olarak beyler bu şekilde çalışıyor

 #include <iostream>
#include <ctime>

#define _DLLAPI extern "C" __declspec(dllexport)
_DLLAPI __time64_t __stdcall Data_t(){ return 3600 ;}
//результат вычисления 1970.01.01 00:00:00 + количество секунд(return 3600)
//получается 1970.01.01 01:00:00
 
Ihor Herasko :

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ştirilmesi mümkün değildir. 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.

Ah, yanılıyorsun!

 
Алексей Тарабанов :

Ah, yanılıyorsun!

Konsola c++ tarafından malzeme yazdırmaya çalıştım , program yürütüldüğü sırada çalışmadı, konsol açılmadı, belki her şey göründüğü kadar basit değil ama yazdırmaya gelince Bir dosya, bir dosya oluşturacak ve oraya veri girmek için taraftan bir fonksiyon yazmanız gerektiğini anlıyorum, bu seçeneği denemedim, henüz dosyalarla çalışmadım.

Herhangi biri bunu yaptıysa, abonelikten çıkın, dll tarafından yanlış değerleri aramak için bir dosyaya bilgi yazdırmak veya aramamak mümkün mü.

Renk ve çizgilerle nasıl çalışılır. wchar_t'nin karakter dizileri ile kullanıldığını okudum ama eğer fonksiyonun içine böyle bir ifade yazarsanız

_DLLAPI void fnReplaceString(wchar_t *text,wchar_t * from ,wchar_t *to)
  {
   wchar_t Text1= "Text1" ; //не работает значит для строк wchar_t 
//не подходит

  }