エラー、バグ、質問 - ページ 2748 1...274127422743274427452746274727482749275027512752275327542755...3185 新しいコメント Mihail Matkovskij 2020.05.21 12:25 #27471 Sergey Dzyublik:文章量が多いので、全部は読んでいません。 しかし、デバッグ版で動作していたものがリリース版では動作しない、またはその逆の場合、特にクラス/構造体のすべての変数とフィールドが初期化されているかどうかを確認してください。 初期化が必要なデータは初期化しました。そして、たまたまそこにランダムなデータがあった場合、プログラム自体にエラー(例えば、Array out of rangeやInvalidpointer)を発生させることになる。少なくとも、デバッガの動作に影響を与えることはありません。そして、そのようなバグを発見するのに役立ちます。 Sergey Dzyublik 2020.05.21 12:38 #27472 Mihail Matkovskij: (ME5(ビルド2390)では修正 されていません)** デバッガ、StepInto (F11)、インストールしたブレークポイントが機能しない。 Mihail Matkovskij 2020.05.21 12:44 #27473 TheXpert: ファイル構造が複雑で、デバッガがブレークポイントを関連付けられないのかもしれませんが、その場合はデバッガの問題です。 私のプロジェクトで 使用している標準的なUI要素のファイル構成は、私の作品以上に複雑だと思います。そういうものを作るには、相当な努力が必要だと思います。でも、そのまま、持って、使ってくださいということです。私の場合のように、すべてをまとめてしまうとそうすると、確かに、何か複雑なものが出てきます。しかし、ランニングプログラムでは、ごく普通のことなのです。 Roman 2020.05.21 12:50 #27474 fxsaber: 当初は、このように持ち上がった。 ある段階になると、かかった時間の相対的な部分だけでなく、絶対的な部分も重要になってきます。 しばらくはC言語で変数を割り当てることに慣れることです。 最初のカスタム関数では、入力のMqlTick構造体は、メモリ割り当て なしで、直接MQL関数に渡されます。 このようなエントリーをバッドコーディングと呼びます。 bool GetCurrentTick1( MqlTick &Tick ) { return(SymbolInfoTick(_Symbol, Tick)); } 2番目の例では、CurrentTick変数が作成され、そのためにメモリが割り当てられています。 また、このエントリーがより正しいと判断されます。 すでにメモリが確保されているため、無駄なコストをかけずに入力データを高速に処理することができます。 bool GetCurrentTick2( MqlTick &Tick, const bool NewTick = false ) { static MqlTick CurrentTick; if (NewTick) SymbolInfoTick(_Symbol, CurrentTick); Tick = CurrentTick; return(true); } TheXpert 2020.05.21 13:19 #27475 Roman: もう少しC言語ができるようになれば、変数を割り当てる習慣が身につくよ。 自分のアドバイスに従えば、配分のアイデアくらいは出てくるかもしれません。 Alexey Navoykov 2020.05.21 13:30 #27476 Roman: ... そして、その記録の方が正しいとされているのです。 誰が数えたんだ? せめて速度計測を先にしろよ。 Sergey Dzyublik 2020.05.21 13:38 #27477 Alexey Navoykov: 誰がカウントしてるんだ? そもそも速度測定くらいしてくれよ。 荒らしに注目されすぎ Roman 2020.05.21 13:43 #27478 TheXpert: 自分の言うとおりにすれば、配分の片鱗くらいは見えてくるかもしれません。 アロケーションというのは、メモリの割り当ての ことです。 クラスという文字通りの意味ではなく、 ユーザー定義関数は、独自のスコープを持ちます。 Roman 2020.05.21 13:46 #27479 Alexey Navoykov: 誰がカウントするんだ? そもそも速度測定くらい出せよ。 前のページでfxsaberさんが測定値を教えてくれました。 なぜこのようになるのかを説明しました。 静的、動的を問わず、常にメモリを確保する。 Mihail Matkovskij 2020.05.21 14:10 #27480 Sergey Dzyublik: もしかしたら、この不具合が発生しているかもしれません。(ME5(ビルド2390)では修正 されていません)** デバッガ、StepInto (F11)、インストールしたブレークポイントが機能しない。 可能性はある...上で説明したint型CCheckGroup::itemCheckState(const string item)メソッドを試してみました。そして、最初はデバッガーがそこに行くんです。しかし、一度終了してそれで終わりとなると、デバッガはもうそれを見ず、ブレークポイントも「エンターでステップ」も効かない。まあ、一時的にPrint()とAlert()でやりくりするしかないでしょう。 1...274127422743274427452746274727482749275027512752275327542755...3185 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
文章量が多いので、全部は読んでいません。
しかし、デバッグ版で動作していたものがリリース版では動作しない、またはその逆の場合、特にクラス/構造体のすべての変数とフィールドが初期化されているかどうかを確認してください。
初期化が必要なデータは初期化しました。そして、たまたまそこにランダムなデータがあった場合、プログラム自体にエラー(例えば、Array out of rangeやInvalidpointer)を発生させることになる。少なくとも、デバッガの動作に影響を与えることはありません。そして、そのようなバグを発見するのに役立ちます。
(ME5(ビルド2390)では修正 されていません)** デバッガ、StepInto (F11)、インストールしたブレークポイントが機能しない。
ファイル構造が複雑で、デバッガがブレークポイントを関連付けられないのかもしれませんが、その場合はデバッガの問題です。
私のプロジェクトで 使用している標準的なUI要素のファイル構成は、私の作品以上に複雑だと思います。そういうものを作るには、相当な努力が必要だと思います。でも、そのまま、持って、使ってくださいということです。私の場合のように、すべてをまとめてしまうとそうすると、確かに、何か複雑なものが出てきます。しかし、ランニングプログラムでは、ごく普通のことなのです。
当初は、このように持ち上がった。
ある段階になると、かかった時間の相対的な部分だけでなく、絶対的な部分も重要になってきます。
しばらくはC言語で変数を割り当てることに慣れることです。
最初のカスタム関数では、入力のMqlTick構造体は、メモリ割り当て なしで、直接MQL関数に渡されます。
このようなエントリーをバッドコーディングと呼びます。
2番目の例では、CurrentTick変数が作成され、そのためにメモリが割り当てられています。
また、このエントリーがより正しいと判断されます。
すでにメモリが確保されているため、無駄なコストをかけずに入力データを高速に処理することができます。
もう少しC言語ができるようになれば、変数を割り当てる習慣が身につくよ。
...
そして、その記録の方が正しいとされているのです。
誰が数えたんだ? せめて速度計測を先にしろよ。
誰がカウントしてるんだ? そもそも速度測定くらいしてくれよ。
荒らしに注目されすぎ
自分の言うとおりにすれば、配分の片鱗くらいは見えてくるかもしれません。
アロケーションというのは、メモリの割り当ての ことです。
クラスという文字通りの意味ではなく、
ユーザー定義関数は、独自のスコープを持ちます。
誰がカウントするんだ? そもそも速度測定くらい出せよ。
前のページでfxsaberさんが測定値を教えてくれました。
なぜこのようになるのかを説明しました。
静的、動的を問わず、常にメモリを確保する。
もしかしたら、この不具合が発生しているかもしれません。
(ME5(ビルド2390)では修正 されていません)** デバッガ、StepInto (F11)、インストールしたブレークポイントが機能しない。
可能性はある...上で説明したint型CCheckGroup::itemCheckState(const string item)メソッドを試してみました。そして、最初はデバッガーがそこに行くんです。しかし、一度終了してそれで終わりとなると、デバッガはもうそれを見ず、ブレークポイントも「エンターでステップ」も効かない。まあ、一時的にPrint()とAlert()でやりくりするしかないでしょう。