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

 
Aliaksandr Yemialyanau:

これを試した。

動作しない、開けない、ファイルに関するログも何もない。

ファイルサイズを12KBに縮小 - うまく いきました。ログにはこう書かれている。

Tester file added: FilesEURUSD.dat.11540バイト搭載

テスターのファイルサイズに制限があるのでは?

いや、制限はあるのですが、それほどでもないです(ぱっと見で思い出せない、64メガとか)。140キロバイトのファイルの例をあげました。

自宅で再現してみよう

 
Slawa:

いえ、制限はありますが、それほど多くはありません(パッと見では思い出せません、64メガとか)。140キロバイトのファイルでの例を挙げました。

自宅での再現を試みます

ファイルサイズを変えてみた。16MB程度で問題が発生する。

15 625 KBが開きます。Log: Tester file added: FilesEURUSD.dat.16000020バイトをロード

16,407 KB - ログにファイル転送に関する 記録がありません。

ファイル:
20150706.log  6 kb
 

標準ライブラリ(CAppDialog)で作成したフォームを更新する方法を教えてください。

 
Konstantin Karpov:

標準ライブラリ(CAppDialog)で作成したフォームを更新する方法を教えてください。

グラフィックを扱ったことがある人は、ChartRedrawの 画面を更新するだけでよい。
 
Karputov Vladimir:
グラフィックを扱ったことがある人は、ChartRedrawの 画面を更新するだけでOKです。

フォームのデータを更新する仕組みのことです。つまり、例えばラベルオブジェクトを作成し、Text(_field_class_)メソッドでフォームに出力するのです。しかし、_field_class_オブジェクトは静的なものとなり、更新されることはありません。そして、_field_class_のデータが変更されたときに、フォームが更新されるようにする必要があります。すでに指定されているのであれば、更新の仕組みを自分で作りたくはない。

 
Konstantin Karpov:

フォームのデータを更新する仕組みのことです。つまり、例えばラベルオブジェクトを作成し、Text(_field_class_)メソッドでフォームに出力するのです。しかし、_field_class_オブジェクトは静的なものとなり、更新されることはありません。そして、_field_class_のデータが変更されたときに、フォームが更新されるようにする必要があります。確実に提供されているのであれば、自分で更新の仕組みを作るのは嫌です。

変更された文字情報は、画面の再描画となります。ChartRedrawを 使用して画面を更新することができます
 
Karputov Vladimir:
変更された文字情報は、画面の再描画となります。ChartRedrawを 使用して画面を更新することができます

データを更新する必要があるのに、チャートを更新することは何の関係があるのでしょうか :)

OnShow() 仮想メソッドをオーバーライドする必要があります。

 
Konstantin Karpov:

データを更新する必要があるのに、チャートを更新することは何の関係があるのでしょうか :)

OnShow() 仮想メソッドをオーバーライドする必要があります。

ぜひ試してみてください :) 、そしてその結果を見てください。
 
Karputov Vladimir:
ぜひ試してみてください :) そしてその結果を見てください。

私を理解しようとしない、私はグラフィックを更新する必要はない、私はフォームのデータを更新する必要がある、それが更新されたとき、これは標準ライブラリが 提供する更新メカニズムによって実現されます。

仮想のOnShow()メソッドをオーバーライドし、Text(_field_class_)メソッドを使って必要なフィールドを更新するだけです。そして、フォームを表示するために必要なパラメータを渡す呼び出しメソッドでは、クラスのフィールド(データ)に新しい値を代入して、Show()メソッドを呼び出します。

私は、MQLを含む様々なC++ライブラリで使用されている、標準的なメカニズムを探していただけなのです。

ファイル:
test_NewForm.ex5  192 kb
 
Konstantin Karpov:

私を理解しようとしない、私はグラフィックを更新する必要はない、フォームのデータを更新する必要がある、それが更新されたとき、これは標準ライブラリが 提供する更新メカニズムによって達成される。

仮想のOnShow()メソッドをオーバーライドし、Text(_field_class_)メソッドで必要なフィールドを更新するだけです。そして、フォームを表示するために必要なパラメータを渡す呼び出しメソッドでは、クラスのフィールド(データ)に新しい値を代入して、Show()メソッドを呼び出します。

MQLを含む様々なC++ライブラリで使われている標準的なメカニズムを探していたところでした

チャートに描かれているのは、すべてグラフィックです。テキストフィールドのテキストを変更したため、ユーザーが変更を確認するために画面を強制的に更新する必要があります。だから、もっと前からテストしておくべきだったと言ってるんです。)