10分でできるMQL5用DLLの書き方、データのやりとり」についてのディスカッション。 - ページ 12

 
Seric29:


では、どのような仕組みになっているのか、見せていただけますか?

#include <ctime>
また、__time64_tはデータ型で、datetimeと同じです。
 
Ihor Herasko:
また、__time64_tはデータ型で、datetimeと同じです。

つまり、#include<ctime>を 接続し、 各変数の前に__time64_tを記述する必要があるのですね?

 

とにかく、みんな、その仕組みはこうだ。

#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() は mql4 と mql5 でのみ利用可能な関数です。その出力デバイスが端末のログファイルであるため、直接置き換えることはできません。しかし、このDLLが接続されているExpert Advisor(インジケータ、スクリプト)に対応するコマンドを送信すれば、間接的に呼び出すことができます。dllとExpert Advisorの間のデータ交換がどのように実装されているかによります。

また、端末のジャーナルに限らず、何かを印刷するタスクがあった場合、ファイル、プリンタ、ディスプレイと、やはりいろいろな可能性があります。

おっと、間違っている!

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

おっと、間違っている!

私はC + +の側からコンソールに材料を印刷しようとしたプログラムの実行 時に動作しませんコンソールが開いていなかった、おそらくすべてが、それが見えるように単純であり、ファイルへの印刷については、あなたがファイルを作成し、そこにデータを入力する関数を記述する必要があります理解して、このオプションは試していない、少し知識はまだファイルと一緒に働いていないです。

どなたか実行された方がいらっしゃいましたら、DLLからファイルに情報を出力して無効な値を検索することが可能かどうか教えてください。

色と文字列をどう扱うか。wchar_t は文字列で使われるとのことですが、関数内で次のような式を書きます。

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

  }