エラー、バグ、質問 - ページ 1327

 

の場合、1桁目は使用できません。

#define  MACRO( x, y )   x##y
void OnStart()
{
        int i = MACRO( 1, 5 );
        Print( i );
}
 

特定の組み合わせでマクロパラメータを省略することはできません

#define  MACRO1( x )             void x() { Print( __FUNCTION__ ); }
#define  MACRO2( prefix, function )      MACRO1( prefix##function )
#define  MACRO3(         function )      MACRO2(         h2, function )
#define  MACRO4(         function )      MACRO2( /*опущен*/, function )
//---
   void f1() { Print( __FUNCTION__ ); }
MACRO3( f2 )          //нормально
 MACRO4( f2 )          //Ошибка: argument expected for the function-like macro
//---
void OnStart()
{
        MACRO( /*опущен*/, f1 ); //нормально
        h2f2();
        f2();                   
}
 
Karputov Vladimir:
いいえ、ファイルは標準納品時から変更されておらず、MQL5 Storageは 使用されていません。ユーザーはおそらく別の「データフォルダ」に入ったのでしょう。少なくとも、これが今のところ最も有力なバージョンです。
コンピュータの周りを検索した。やっぱりファイル死んでる(( 使用OSはWindows Server 2012です。このファイルは、"C:¥UsersAdministrator¥AppData¥Roaming¥MetaQuotes¥Terminal¥9A8888D580475F4165FB840CCD79A65C¥MQL5¥Scripts"(最終日付 - 2015年3月)に修正されています。なぜか同名のファイル(最終更新日 - 2014年8月)に上書きされてしまいました。拡張子がmq5のソースファイルは書き換えられ、コンパイルされたファイルは最新版のままです。MQL5 Storageは使って いなかったので、これから使ってみます。
 
kogriv:
コンピュータを検索した。やっぱりファイル死んでる(( 使用OSはWindows Server 2012です。このファイルは、"C:UsersAdministrator ###AppData ###Roaming ###MetaQuotes ###Terminal ###9A8888D580475F4165FB840CCD79A65C ###MQL5 ###Scripts" (last date - March 2015) フォルダーに格納されていたものです。なぜか同名のファイル(最終更新日 - 2014年8月)に上書きされてしまいました。拡張子がmq5のソースファイルは書き換えられ、コンパイルされたファイルは最新版のままです。MQL5 Storageは使って いなかったので、これから使ってみます。
There should not be your (user files in folder C:\Program FilesMetaTrader 5╱MQL5ⒸScripts!もし、そこにファイルが現れたとしても、それはMetaEditorの作業に手動で介入しているに過ぎません。編集やファイル作成などの作業は、すべてデータフォルダC:UsersAdministratorのAppDataのAntiRoamingのCetaQuotesのTerminalの中で行う必要があります。
 
Karputov Vladimir:
In folder C:\Program FilesMetaTrader 5 ◇Scripts your (user files should not exist!).もし、そこにファイルが表示されたとしても、それはMetaEditorの作業に手動で介入しているに過ぎません。編集やファイル作成などの作業は、すべてデータフォルダC:UsersAdministratorのAppDataのAccordingに格納されます。
サーバー上のファイルロケーションの特別な機能を知らなかったので、最初の場所(C: \Program FilesMetaTrader 5 ↪MQL5↩Scripts)にコピーして、それから正しいフォルダにコピーしました。業務に支障をきたす...」ということはないと思います。
 
kogriv:
最初はサーバーのファイル位置の特殊性を知らなかったので、そこにコピーしていたのですが(C: \Program FilesMetaTrader 5 ↪MQL5↩Scripts)、その後わかって正しいフォルダーにコピーしました。改ざん...」ではないと思うのですが。
その通り、手動での介入です。You have to move all your files from C:\Program FilesMetaTrader 5MQL5... (cut and paste) to its rightful place: C:\UsersAdministrator AppData Roaming Filter Filter 9A8888D580475F4165FB840CCD79A65CMQL5 Filter...と、全てのファイルを移動させる必要があります。
 
Karputov Vladimir:
その通り、手動での介入です。All your files from C:\Program FilesMetaTrader 5... should be moved (cut and paste) to their rightful place: C:\Users´Administrator´AppDataRoaming´MetaQuotes´Terminal´9A8888D580475F4165FB840CCD79A65CMQL5 ....
切り取らなかったらどうするんだ?
 
kogriv:
切り取らずに入れたら...
その場合、あなたの上書きの状況が再び起ころうとしているのです。ユーザーのデータフォルダはC:UsersAdministratorApDataRoamingGetaQuotesTerminalの1つです。他のフォルダーにファイルを書き込む場合は、自己責任でお願いします。何しろ自分のお金ですからね。
 
Karputov Vladimir:
その場合、あなたの上書きの状況が再び起ころうとしているのです。ユーザーのデータフォルダはC:UsersAdministratorApDataRoamingGetaQuotesTerminalの1つです。他のフォルダーにファイルを書き込む場合は、自己責任でお願いします。何しろ自分のお金ですからね。

ポータブルキーはどうですか?

とありますが、この「sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqb6547nw8nme789m」フォルダは何ですか。複数の端末がインストールされている場合、どのフォルダがどの端末のものかを判断するのは簡単なことではありません。もちろん、MTツールを使って入力することもできますが、それ以外の場合は面倒なので、/portableを選択しています。

 
Andrey Dik:

ポータブルキーはどうですか?

とありますが、この「sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqb6547nw8nme789m」フォルダは何ですか。複数の端末がインストールされている場合、どのフォルダがどの端末のものかを判断するのは簡単なことではありません。もちろん、MTツールを使って入力することは可能ですが、それ以外の場合は本当に面倒です。

すでに一度、実験してファイルを上書きされたことがある。2度目は焼けないんじゃないかと思います。