Beta version of MetaTrader 4 IDE including new MQL4 compiler and editor - page 7

 
MetaQuotes:

1. We mentioned about parameters in start/init/deinit because they should never be there, but we came across examples of source code where authors added unnecessary parameters by mistake. In the old MQL4 it was skipped without a sound, while in MQL5 it is already reported as an error. There is no problem here - just a very rare error will be immediately visible.

2. If you have faced problems with DLL and passing of multidimensional string arrays into DLL, they will rest assured. The developers have all the possibilities of working with structures and there's no need to build crutches on strings.

The new version of MQL4 gives a lot of new features, while maintaining compatibility.

1. I have many where this feature is used. I don't think I'm the only one.

2. Highlighted is great! But leave compatibility with the old one!

MetaQuotes:

There is no need to panic. Download the offered IDE+MQL package and check your developments.

The compiler now has a very good analyzer and easily gives warnings on dangerous mixes of logical expressions. Please try it yourself.

That's great too! The codes in the Code Base weren't just written by pros. Surely there are no brackets in logical expressions. These codes won't work. Make a key for the compiler to skip by the old rules.
 
MetaQuotes:

Those who struggled with DLL, and even with passing multidimensional string arrays into DLL, on the contrary, breathe a sigh of relief. Developers have all the possibilities of working with structures and don't need to build crutches on strings anymore.

Why crutches? What's wrong with a string array? By the way, I read this paragraph incorrectly at first, and it turns out that it concerns arrays of strings, not only multidimensional arrays. How could it be so? How do you suggest replacing the array being passed with the structure? For example, you must do the following for an array of 1000 strings

struct StrStruct { string a1; string a2; string a3; .... string a1000; } A; And then each member should be initialized? This is nonsense.

The new version of MQL4 gives a lot of new features while keeping compatibility.

Only the compatibility is not complete.
 
Meat:

Why crutches? What's wrong with a string array? By the way, I did not read this point carefully at first, and it turns out that it's not only about multidimensional arrays but string arrays in general. How could it be so? How do you suggest replacing the array being passed with the structure? For example, you must do the following for an array of 1000 strings

struct A { string a1; string a2; string a3; ..... string a1000; }; And then each member must be initialized? This is nonsense.

Only compatibility is not complete.


A structure is passed as a string and is fully equivalent to it. Any operation on the string is applicable to the structure.
 
Zhunko:

1. What about this?!

Very true to form, by the way. It's not an undercommented feature. I used to use it a lot too.
 
tara:

A structure is passed as a string and is fully equivalent to it. Any operation on a string is applicable to the structure.

I don't get it. How do you mean?
 
Meat:

I don't get it. What do you mean?

In database terms, fields merge. They merge.
 
tara:

In the case of databases, fields merge. They are merged.
It doesn't make any sense. What are the databases? Where do they come from in MQL? Here we have an array: string A[1000]; How to pass it to DLL?
 
Meat:
It doesn't make any sense. What other databases are there? Where do they come from in MQL? Here we have an array: string A[1000]; how can it be passed into the DLL?


Alexey, if you have a two-dimensional string array, you can easily replace it with a one-dimensional array of structures.

By the way, it would be a more expressive combination :)

 

Vadik is just angry about the inevitable competition. ;) // imha self-sabotaging

He used to be a "panacea" with his libraries, but now they will be much less in demand - almost everything can be done without them, and much of what cannot be done can be found ready-made in kodobase at mql5.com

Vadim, look for the pros, there are orders of magnitude more.

 
MetaDriver:

Vadik is just angry about the inevitable competition. ;) // imha self-sabotaging

It used to be a "panacea" with its libraries, but now they will be much less in demand - almost everything can be done without them, and much of what cannot be done can be found ready-made in kodobase at mql5.com

Vadim, look for the pros, there are orders of magnitude more.

Your code is "closer to the point". There is rarely anything in the public domain that is 'not worth redoing'.