Errors, bugs, questions - page 1323

 
Aliaksandr Yemialyanau:

Tried this:

Didn't work, won't open, and there's nothing in the logs about the file.

Reduced the file size to 12KB - it worked. In the log it says:

Tester file added: Files\EURUSD.dat. 11540 bytes loaded

Maybe there is a file size limitation for the tester?

No, there is a limit, but not so much (I can't recall at a glance, something like 64 meg). I gave you an example with a 140 kilobytes file

Let's try to reproduce the problem at home

 
Slawa:

No, there is a limit, but not that much (I can't remember at a glance, something like 64 meg). I gave an example with a 140 kilobytes file

We will try to reproduce the problem at home

I tried changing the file size. The problem occurs at about 16 MB.

15 625 KB opens. Log: Tester file added: Files\EURUSD.dat. 16000020 bytes loaded

16,407 KB - there is no record in the logs about the file transfer.

Files:
20150706.log  6 kb
 

Can you tell me how to update a form created using the Standard Library (CAppDialog) ?

 
Konstantin Karpov:

Can you tell me how to update a form created using the Standard Library (CAppDialog) ?

If you have worked with graphics, just update the ChartRedraw screen.
 
Karputov Vladimir:
If you have worked with graphics, just update the ChartRedraw screen.

I mean the mechanism of updating data in the form. I.e. create, for example, label object, and output it to a form by Text(_field_class_) method. But the _field_class_ object will be static - it is not updated. And we need it so that when data changes in _field_class_, the form will be updated. I don't want to create my own mechanism of updating if it is already specified.

 
Konstantin Karpov:

I mean the mechanism of updating data in the form. I.e. create, for example, label object, and output it to the form by Text(_field_class_) method. But the _field_class_ object will be static - it is not updated. And we need it so that when data changes in _field_class_, the form will be updated. I don't want to create my own update mechanism, if it's already provided for sure.

Changed text information is a screen redraw. You can useChartRedraw to update the screen.
 
Karputov Vladimir:
The changed text information is a redraw of the screen. You can useChartRedraw to update the screen.

What does updating the chart have to do with it when you need to update the data :)

Already figured it out, you need to override the OnShow() virtual method

 
Konstantin Karpov:

What does updating the chart have to do with it when you need to update the data :)

Already figured it out, you need to override the OnShow() virtual method

You should try it :), and then see the result.
 
Karputov Vladimir:
You should try it :) and then see the result.

You don't want to understand me, I don't need to update the graphics, I need to update the data in the form, when it is updated, this is achieved by the update mechanism providedby the standard library.

The virtual OnShow() method is overridden, which just updates the necessary fields using the Text(_field_class_) method. And then in the calling method, in which we pass the necessary parameters to display the form, we assign new values to the class fields (data) and call the Show() method;

I was just looking for a standard mechanism, which is used in various C++ libraries, including MQL.

Files:
test_NewForm.ex5  192 kb
 
Konstantin Karpov:

You don't want to understand me, I don't need to update the graphics, I need to update the data in the form, when it is updated, this is achieved by the update mechanism providedby the standard library.

The virtual OnShow() method is overridden, which just updates the necessary fields using the Text(_field_class_) method. And then in the calling method, in which we pass the necessary parameters to display the form, we assign new values to the class fields (data) and call the Show() method;

I was just looking for a standard mechanism used in various C++ libraries, including MQL

All that is on the chart is graphics. Changed text in a text field, so you have to force refresh the screen for the user to see the change. I'm telling you - it would have been tried a long time ago :).