変数の動作に関する混乱 - ページ 4 1234567 新しいコメント Mikhail Kozhemyako 2013.12.19 22:49 #31 wlad: に注目してほしいです。 開発者はどうするんだ?サーバーに変数を保存させたいですか?停電でパソコンがハングアップしたり、再起動したりする中? Sergey Guliaev 2013.12.20 05:33 #32 wlad: を自分でテストしてください。 を見れば、それがどんなものかわかるはずです。 同情します(((;゚Д゚))))))) wladimir 2013.12.20 13:27 #33 何を言ってるんだ? まだまともな回答は得られていない。 問題点 Victor Nikolaev 2013.12.20 13:58 #34 マジでジョイント wladimir 2013.12.20 14:08 #35 Vinin: マジでジョイント なぜそうなっているのか、説明してください。 Victor Nikolaev 2013.12.20 14:11 #36 説明されているのに、他人の意見を聞きたくないだけなのでは? wladimir 2013.12.20 14:14 #37 Vinin: 説明されてるのに、他人の意見を聞きたくないだけだろ。なぜ 外部変数が変更されると、グローバル変数がその値を引き継ぐという立ち位置 wladimir 2013.12.20 14:16 #38 と、Tバックでしか起こりません。 他のタイプでは、正常に動作します。 間違っているところを教えてください。 wladimir 2013.12.20 15:07 #39 以下は、文字列とintの動作を比較する例です。 extern string ValueString = "DDD"; extern int ValueInt = 10; string tempString=""; int tempInt=0; bool firsttime=true; int start() { string txt=StringConcatenate( " ValueString: ",ValueString," < >"," tempString: ",tempString,"\n", " ValueInt: ", ValueInt, " < >"," tempInt: ",tempInt,"\n", " firsttime: ",firsttime); if(firsttime) { // значение присваевается тольо ОДИН раз tempString=ValueString; tempInt=ValueInt; firsttime=false; } Print(txt); Comment(txt); } とログに出力する。 1. EAのロードとグローバル変数の 開始 2. 外部変数からグローバル変数への転送。bool firsttime による一回限りの転送。 3. 外部変数の変化 4.その差は、ここにも表れています。 tempStringはValueStringの値を取る - 誤り ValueInt が変わっても tempInt は値を保持する -正しい 5、6 は 3、4 と同様 文字列の挙動が異なる理由を教えてください。 Intが正しい間 具体的な回答をお願いします。 Vladimir Gomonov 2013.12.20 16:36 #40 wlad: なぜ文字列の挙動が異なるのか説明してください。 事実でありながら。 具体的な回答を求めているのです。 具体的に説明できない リンクが見つからない コンパイラは同じ値を持つ文字列変数を検出すると、同じ実メモリに入れ、それを参照する必要がある人に参照させると、どこかの掲示板で見たことがあります。 理論的には、オプティマイザのバグかもしれません。サービスデスクに連絡して、コードとサンプルを送ってください。 こちらも重複しています: 新しいコンパイラを搭載したMetaTrader 4 Build 529のベータ版がリリースされました -- // しかし、私の経験では、解決できない問題に出会ったことはない。 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
に注目してほしいです。
開発者はどうするんだ?サーバーに変数を保存させたいですか?停電でパソコンがハングアップしたり、再起動したりする中?
を自分でテストしてください。
を見れば、それがどんなものかわかるはずです。
同情します(((;゚Д゚)))))))
何を言ってるんだ?
まだまともな回答は得られていない。
問題点
マジでジョイント
説明されてるのに、他人の意見を聞きたくないだけだろ。
なぜ
外部変数が変更されると、グローバル変数がその値を引き継ぐという立ち位置
と、Tバックでしか起こりません。
他のタイプでは、正常に動作します。
間違っているところを教えてください。
以下は、文字列とintの動作を比較する例です。
とログに出力する。
1. EAのロードとグローバル変数の 開始
2. 外部変数からグローバル変数への転送。bool firsttime による一回限りの転送。
3. 外部変数の変化
4.その差は、ここにも表れています。
tempStringはValueStringの値を取る - 誤り
ValueInt が変わっても tempInt は値を保持する -正しい
5、6 は 3、4 と同様
文字列の挙動が異なる理由を教えてください。
Intが正しい間
具体的な回答をお願いします。
なぜ文字列の挙動が異なるのか説明してください。
事実でありながら。
具体的な回答を求めているのです。
コンパイラは同じ値を持つ文字列変数を検出すると、同じ実メモリに入れ、それを参照する必要がある人に参照させると、どこかの掲示板で見たことがあります。
理論的には、オプティマイザのバグかもしれません。サービスデスクに連絡して、コードとサンプルを送ってください。
こちらも重複しています: 新しいコンパイラを搭載したMetaTrader 4 Build 529のベータ版がリリースされました
--
// しかし、私の経験では、解決できない問題に出会ったことはない。