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

 
Artyom Trishkin:
すべてのポインターを追加していますね。端末サブシステムは、CArrayObj リスト にあるポインタのようなオブジェクトを自ら削除します。

ここで、メモリリークの可能性があります。

もしメモリリークがあった場合(ポインタオブジェクトが 削除されなかった場合)、完了時にどのオブジェクトがいくつ削除されなかったか、どれだけのメモリが解放されなかったかがログに記録されます。でも、そういうのがなかったんです。オブジェクトは削除されますが、そのチャートオブジェクトはすべて削除されるわけではありません。

Rashid Umarovは、グラフが、リストからオブジェクトを削除するコマンドを大量に処理する時間がないことが問題であると指摘した。メモリーリークと何か関係があるのでしょうか?
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Mihail Matkovskij:

これはあくまで例としてです。私が作っているインジケータでは、名前がかなり複雑になっています。そして、この例はあくまでデモンストレーションのために作りました。

プリフィクスを作ることの何が問題なのでしょうか?最初に確認した方が良かったのでは?

 
Mihail Matkovskij:

もしメモリリークがあった場合(ポインタオブジェクトが 削除されなかった場合)、完了時にどのオブジェクトがいくつ削除されなかったか、どれだけのメモリが解放されなかったかがログに記録されます。でも、そういうのがなかったんです。オブジェクトは削除されますが、そのチャートオブジェクトはすべて削除されるわけではありません。

Rashid Umarovは、チャートからオブジェクトを削除するような大量のコマンドを処理する時間がチャートにはないことが問題であることに気づきました!メモリーリークと何か関係があるのでしょうか?
可能性」と書きました。後でまた検索する必要があるということです。すぐにでもやったほうがいい。
 
Alexey Viktorov:

プリフィックスをすることの何が問題なのでしょうか?最初にこのオプションにチェックを入れるべきだったのでは?

インジケーターのオブジェクトの命名アルゴリズムをすべてやり直さなければならず、うまくいくかどうか...。たくさんのコードがあるんだ、信じてくれ。

もしかしたら、別の方法があるのかもしれません。例えば、まずすべてのオブジェクトに対してObjectDeleteを呼び、その後、時間をおいてObjectFindを呼びます。そしてもう一度、削除されていないオブジェクトを削除してください。そして、その数が0になるまで。Sleep関数が動作しないのに、どうやってインジケータにディレイを作るのですか?

Artyom Trishkin:
「可能性」と書きました。また探さないといけないということです。そのまま行った方がいい。
これはあくまで一例であり、メモリリークとは関係ありません。私のインジケーターでは、違う設定になっています。
 
Mihail Matkovskij:

私のインジケーターのオブジェクトの命名アルゴリズムをすべてやり直さなければなりません。そして、かなり多くのコードがあります、私を信じてください。

もしかしたら、他に方法があるのかもしれません。例えば、まずすべてのオブジェクトに対してObjectDeleteを呼び出し、その後、時間をおいてObjectFindを呼び出します。そして、削除されていないオブジェクトを再度削除してください。そして、その数が0になるまで。Sleep関数が動作しない場合、インジケータに遅延を発生させるにはどうすればよいですか?

これは非常に良いアプローチだと思います。私は面倒くさがらずにすべてを変え、開発者は面倒くさがらずにすべてを変えさせる。自分の例で確認し、その結果を発表することを誰が妨げるのか?やりたくもないだろう、「やらせてみる」。待ちたい...」と思った。© V.Vysotsky.

 
Alexey Viktorov:

それはとてもいいアプローチですね。全部変える必要はない、開発者が全部変えればいい。あなたが自分の例をテストし、その結果を報告することを誰が止めるのですか?そんなこともしないで、「やってみせてください。待ちたい...」と思った。© V.Vysotsky.

開発者が何かしてくれるなんて、そんなこと言ってませんよ!」。オブジェクトに名前を付けるアルゴリズムは、後でObjectDeledeAll関数を呼び出す ことを想定していないだけなのです。あくまで「トレンド」というシンプルなネーミングの例で。

 
Mihail Matkovskij:

開発者が何かしてくれるように、そんなこと言ってませんよ!?

明示的にではありませんが、存在しないバグについてのメッセージはそのように読み取れます。

 
Alexey Viktorov:

明確に言われているわけではありませんが、存在しないバグについてのメッセージはそのように読み取れます。

ラシード・ウマロフ 氏の説明で 納得しました。このメッセージに書かれていることが、なぜかあなただけ理解できていないのです。:)

 
Mihail Matkovskij:

他にどんなバグが?

これですね。

Mihail Matkovskij:

このバグが発生するソースコードを作成しました。

 
Alexey Viktorov:

それについて

アレクセイ、このフォーラムで私の投稿をねじ曲げて、私の代わりに開発者にクレームをつけたように見せる以外にやることがないのか...?そんな妙な「意気込み」の理由は何だったんでしょうね。こんなところでくだらないことをするくらいなら、適切なスレッドで初心者の疑問を解決してあげてください......!