MetaTrader 4 Client Terminal build 610 - page 16

 

Thanks everyone for your inputs. This obviously means a lot of rework and loads of setups to attempt again. But thanks atleast this solves my problem.

Cheers !!

 
mladen:

Why is GetWindowTextW() function now returning an empty string and it was returning correct values till this build 610?

This is becoming ridiculous - tell us when we can start coding : in a month, in half a year, in a year, but do not make us do something only to discover that with the next build it does not work any more

Who's making you use GetWindowTextW()?

It isn't Meta-Quotes Language.

Where is the code you're having problems with?

You should be happy there are people who know Microsoft Libraries and are willing to help.

 
Can the list of MQL4 changes be made as comprehensive as possible and for example include changes to functions such as GetLastError() and StringSubstr() etc? That would I think go someway to helping people migrate existing code?
 
angevoyageur:

I am not sure your prerequisites are exacts. Of course MT5 is not so popular than MT4, and is certainly costly, but unsuccessful ? The idea behind that is that MT5 was developed as a replacement for MT4, exact ? I think there are some good reasons to not think so. My opinion is that MT5 was developed to gain market share on other markets than Forex. Also to attract professional traders and programmers.

Which reasons ? I can't believe that a company who developed a mass products, and gain almost a monopoly on retail Forex platforms, could decide to break compatibility and to change completely the trading system (averaged position vs multiple position), without knowing the implications.


That's how technology works! I think that in a context like MQL's, at least two or three years are necessary to adopt the new technology.

MQL4 programmers should get used to the new way of doing things, shouldn't they? Why don't they want?

By the way, many times we humans do things without knowing implications.

That's how I see things right now.

 


I don't think running as Administrator does it. The trick seems to be to use Compatibility settings on uninstall.exe for running as Administrator, because that operates subtly differently in terms of when Windows Explorer applies the setting: https://www.mql5.com/en/forum/148874.

(Cause of the problem is further down the same page: https://www.mql5.com/en/forum/148874)

 
gchrmt4:

(Cause of the problem is further down the same page: https://www.mql5.com/en/forum/148874)

... uninstall.exe already contains a manifest which tells it to escalate to Administrator mode. Doing a right-click and choosing "Run as administrator" is identical to what uninstall.exe is trying to do anyway.

However, the manifest is broken. It specifies uiAccess=true, which requires even higher permissions than normal administrative rights. If you don't have these rights, e.g. because you haven't completely turned UAC off, then Windows looks at the manifest; sees that the user doesn't have the rights for uiAccess; and completely ignores the escalation to administrator. The manifest is ignored, and so is right-clicking and choosing "Run as administrator" because Windows ignores that in favour of the (identical) instruction in the manifest.

Using the Compatibility settings for uninstall.exe does work because Windows examines this setting separately, and does honour it because it's not linked to something else for which the user does not have rights.

Someone at MetaQuotes has simply misunderstood what uiAccess means in relation to requestedExecutionLevel. There are almost no scenarios when it should be turned on, and it shouldn't be turned on unless an application is digitally signed, which uninstall.exe isn't.

I also think the chronology in https://www.mql5.com/en/forum/148874 may be wrong: I think it may be newer installers and uninstall.exe which have the problem. It may be a new problem which is active now, rather than a residual problem which has been fixed.

 
gchrmt4:


I don't think running as Administrator does it. The trick seems to be to use Compatibility settings on uninstall.exe for running as Administrator, because that operates subtly differently in terms of when Windows Explorer applies the setting: https://www.mql5.com/en/forum/148874.

(Cause of the problem is further down the same page: https://www.mql5.com/en/forum/148874)

Did you check Option 5 in the link I gave ?
 
RaptorUK:
Did you check Option 5 in the link I gave ?
Yes, but it's only option 5 when 1 to 4 are the wrong answer. There's the existing topic on this forum, which both you and I have participated in, which more succinctly gives the correct answer.
 
MetaQuotes:
Thank you. Fixed.


Ok... So as usual I'm confused.... about the whole init/deinit event calls in a script.

Some clarification please about what has been "fixed" .. the documentation or the software? The documentation still says these things...

"The Init event is generated immediately after an Expert Advisor or an indicator is downloaded; this event is not generated for scripts."
and this.....
" For scripts the Deinit event is not generated and therefore the OnDeinit() function can't be used in scripts."
And yet ... when a script is run it does run those events.

Or is there a 611 release I don't have yet?
PipPip....Jimdandy..

 

That is either an error in the docs, or an error in mql4, we will have to wait and see which it is.

Reason: