Let's discuss joint projects in the editor - why and where they are going - page 15

 
Renat Fatkhullin:

Most likely to make an in-house multi-language string resource, so that there is one executable file and the language can be changed on the fly.

In the settings too?
 
Vladimir Pastushak:

There is also a question or a problem:

In my aspiration to make quality products, I am making program settings in several languages.

Now each language has its own mqh file and its final mq5 file, i.e. there is a version expert_en.mq5 which includes settings_en.mqh file at the time of compilation, as a result the program turns out with Russian settings and

there is a version expert_en.mq5, which at the time of compilation includes the file settings_en.mqh and the program will result in the English settings.

Now in the projects everything is limited to the English language, even if you change the name of the inluder, at the time of compilation ex5 will be replaced. Of course, you can remove the file from the directory and compile with the Russian language, but often in a hurry it may not do...


Maybe there is a way to automatically detect the language of the operating system and depending on this settings in the language of the operating system?

That's not a good idea. At least the user should be able to choose.


That's a bad idea. At least, the user needs to be able to choose.

 
Alain Verleyen:

This is not a good idea. At least the user should be able to choose.

It is possible to look at the language of the terminal rather than the OS language.
 
Комбинатор:
You can look at the language of the terminal, not the OS language.

Better. :-)

Better

 
Renat Fatkhullin:

We will most likely make an in-house multi-language string resource, so that there is one executable file and the language can be changed on the fly.

We will think over the implementation. We are about to implement multi-language descriptions for the marketplace.


It will be very, very, very good!!!

 
Комбинатор:
You can look at the language of the terminal rather than the OS language.

Yes probably from the language of the terminal, would be better...

 

@ Renat Fathullin

Unfortunately, a "common project" does not work for me in practice.

I have a big project with several indicators (eventually also a script and an EA, but that's not so important), and even with 1 related service. However, even if it is theoretically possible to add multiple "Sources", in practice it doesn't work, as when trying to compile, it compiles all sources (* .mq5) as if it was 1 indicator (or any other object declared in the project).

I would need to have all necessary sources in project AND be able to compile 1 indicator (or any mq5 source) independently from others.

Another problem is related to mqh files, I have dozens of them, and it's very useful to compile only one file I'm working on during development and testing. To check syntax and inclusions, etc ... But once the mqh file is included in the project, if you compile, it compiles the "main" source and eventually all the other files. This is very unworkable.

So to be able to compile only 1 source file (main or dependent) or the whole project, you need.

 

Another practical question using "Projects".

Forum on trading, automated trading systems and strategy testing

Can I get properties from code?

Amy Liu, 2019.05.30 18:12

I used to use this method before MQL updated the editor to have a project. The project has a graphical interface to customize the version. Please see my attached picture. The definition of "#property version" in the code contradicts the version in the GUI. Need to change 3 places to support the project. Tired

GUI

 
Alain Verleyen :

@ Renat Fathullin

...

Another problem is related to mqh files, I have dozens of them, and when developing and testing it is very useful to compile only one file I am working on. To check syntax and inclusions, etc ... But once the mqh file is included in the project, if you compile, it compiles the "main" source and eventually all the other files. This is very unworkable.

So to be able to compile only 1 source file (main or dependent) or the whole project, you need.

This is fixed in Build 2190. A very good improvement.

 

I have been synchronising both MT 4 and MT 5 directories for a long time

I write all code in a include file and compile multiple versions of programs using only one include file.

One code is compiled for both mt 4 and mt 5.

That's why current projects don't make sense.

I propose to make a common project, when compiling it will appear versions for mt 4 and mt 5....

Reason: