поэтому он должен оценить x и ввести значение в ST2 для структуризации. с технической точки зрения При использовании одноуровневой индирекции ST2 x строчит имя введенного макроса но при использовании двойного слоя он строчит значение введенного макроса
MT5 Version: 5.00 build 5370 17 Oct 2025 を使用しています。
memmap.mq5ファイルをコンパイルしようとすると、なぜかエラーが出ます:
memmap.mq5
MemMapLib.mqh
wrong parameters count, 4 passed, but 3 requires MemMapLib.mqh 2799
long CMemMapFile::Open(string,int,int) MemMapLib.mqh 25119
call resolves to 'long CMemMapFile::Open(string,int,int)' instead of 'long CMemMapApi::Open(string,int,int,int&)' due to new rules of method hiding MemMapLib.mqh 2799
see declaration of function 'CMemMapFile::Open' MemMapLib.mqh 25119
see declaration of function 'CMemMapApi::Open' MemMapLib.mqh 12219
wrong parameters count, 3 passed, but 1 requires MemMapLib.mqh 2929int CMemMapFile::Fill(uchar) MemMapLib.mqh 25314
call resolves to 'int CMemMapFile::Fill(uchar)' instead of 'int CMemMapApi::Fill(long,uchar,int&)' due to new rules of method hiding MemMapLib.mqh 2929
see declaration of function 'CMemMapFile::Fill' MemMapLib.mqh 25314
see declaration of function 'CMemMapApi::Fill' MemMapLib.mqh 12414
wrong parameters count, 4 passed, but 1 requires MemMapLib.mqh 29916int CMemMapFile::Grows(int) MemMapLib.mqh 25514
call resolves to 'int CMemMapFile::Grows(int)' instead of 'long CMemMapApi::Grows(long,string,int,int&)' due to new rules of method hiding MemMapLib.mqh 29916
see declaration of function 'CMemMapFile::Grows' MemMapLib.mqh 25514
see declaration of function 'CMemMapApi::Grows' MemMapLib.mqh 125193 errors, 3 warnings 33
膨大な量(ギガバイト)のデータを転送する必要があった。このライブラリを使った実装は、残念ながら超低性能だった。
元のDLLセットを使って 完全にやり直す必要があった。すぐに 動作した。
残念ながら、FileMappingには重大な欠点がある。子アプリケーション(データの読み取り)が何らかの理由で正しく作業を終了しなかった場合( kernel32 ::UnmapViewOfFile コールと kernel32::CloseHandle コール) 、「ファイル」は、それがオープンされたすべてのプロセスがクローズされるまで(kernel32::OpenFileMappingW コールとkernel32::MapViewOfFile コール)、メモリにぶら下がったままになります。特に、サイズを変更したり、開き直したりすることはできません(閉じて開き直す)。
この問題の解決策は見つかって いません。このライブラリでは、すべてのアクションがオープンで始まりクローズで終わるので、このような状況に遭遇するのは難しい。そのため、動作がとても遅い のです。しかし、それでもこのエラーに遭遇するかもしれない。そしてMQLプログラムはこのメッセージとともにクラッシュする。
memmap.mq5ファイルをコンパイルしようとすると、なぜかエラーが出ます:
何が間違っているのか、どなたか教えてください。また、それを修正する方法を教えてください。
ライブラリのソースがMQL5言語の現在の要件を満たしていません。
修正する方法はありますか?それとも、すべてのソースを作り直す必要があり、作者なしでは不可能なのでしょうか?コンパイラが生成したエラーは3つだけだと思います。修正できれば最高です。
修正する方法はありますか?それとも、すべてのソースを作り直す必要があり、作者なしでは不可能なのでしょうか?コンパイラーはここで3つしかエラーを出さなかったと思います。修正されれば最高です。
そして、ここでは私自身がすでにコードを修正しました。必要な方は使ってください。Expert Advisorはこれで正常にコンパイルできるようになった。
251行目から追加しました: