ライブラリ: JSONシリアライズとデシリアライズ(ネイティブMQL) - ページ 4

 
Dennis Kirichenko:

ダミー」からの質問です。

キールックアップメソッドに頼らずにキーの値を取得する方法を教えてください。

配列要素に 直接アクセスするための[]演算子と、配列を指定した要素にコピーするための[]演算子を追加しました。

コードベースはまだ更新中なので、1.06のコピーをここで公開している。

新しい関数の例

   Print("JASon Example Array access:");
   js["DirAccess"][0]=-1; // インデックス0の要素への直接参照。この要素はすぐに作成されます。
   js["DirAccess"][1]=22;
   string a[] = {"test", "add", "to array"};
   for (int i=0; i<3; ++i) js["ArrayAdd"].Add(a[i]); // 配列に要素を追加する
   CJAson* js_ar=js["ArrayCopy"]; js_ar.Set(js["DirAccess"].m_e); // 'の周りの括弧に注意してください。配列コピー'. Он создается новый, и для корректной работы с указателем он должен создасться до обращения к его функции Set
ファイル:
jason.mqh  30 kb
 

こんにちは!

最新のビルド1495でJason.mqhがコンパイルできなくなりました。

ポイント5が原因だと思われます。

 

まあ問題ない )

1.07 - ビルド1495のコンパイル時のバグを 修正。
ファイル:
JAson.mqh  30 kb
 
o_O:

まあ問題ない )

1.07 - ビルド1495のコンパイル時のバグを 修正。
ありがとう!
 

素晴らしい!

本当にありがとう。

 
時間通りに!ありがとうございます。私も1週間前にコンパイルできないことがあったのですが、最初は自分で何かしたのかと思いました。)))
 

スーパーライブラリ。

しかし、MT5の現在のバージョン用にいくつかの「化粧品」の調整が必要です。

 

MetaEditorをVersion: 5.00 build 1498にアップデートした後、コードをコンパイルすると以下のエラーが発生します:

string' 型を 'bool' 型に暗黙的に変換できません。

53行目: void operator=(string a) { m_type=a?jtSTR:jtNULL; m_sv=a; m_iv=StringToInteger(m_sv); m_dv=StringToDouble(m_sv); m_bv=a!=NULL; }.

このバージョンでは、m_type=a?jtSTR:jtNULLはサポートされていないようです。

ファイル:
 
marquez:

しかし、現在のバージョンのMT5用にいくつかの「外観的な」調整が必要で、そうしないとエラーが発生します。

何のために?

バージョン1.07はエラーなしでコンパイルされます。

 
著者はこの問題に対処した最新版を発表した。