I've got a bunch of indis I wrote, not recompiled since my MT4 auto updated to 890, all working fine.
I needed to make some minor changes today, and recompiled against 890, and suddenly strange things are happening.
For one, an ArrayResize statement in a section of code is now completely failing to work. Debug statements confirm the array is the same size before and after the ArrayResize command is executed. This is code I haven't touched for months.
Additionally, during the process of trying to chop code around to find out what the issue was, I kept getting Access Violation write to 0x00000000 errors coming up in the Experts tab.
I use a include file of common functions for all my indis, which reference some of the Win32 DLLs - I half suspect the issues lies with this.
Has anyone else had similar problems?
It's going to be a nightmare to try and unpick all my code to try and find what specifically is causing the error - it seems completely non-deterministic. When I comment out a line simply declaring an integer variable after the ArrayResize command for instance, it works - when I put the line back in, the command fails.
Same error here (see honest_knave's link).
I got a response, the "fix" is as follows:
Hello. Thank you for your appeal! This bug was fixed in a new build. There is 2 ways for you:
Hello. Thank you for your appeal! This bug was fixed in a new build.
There is 2 ways for you:
What a relief...
I had started to believe that i am crazy...
Same thing happened to me with one of my indis, which caused me a lot of troubles in my EA.
When i tried to fix that and after of endless hours of debugging i realized that iAMOnArray() which my indicator uses, in the new hybrid MQL4=5 this function doesn't exists anymore.
I am sure that the compiler changed dramatically and the proof of that is that the backup file of the indi is still working... if you don't compile it.
So it seems like an extra push tοrwαrds to MQL5.
I also post a comment ( https://www.mql5.com/en/forum/157331 ) for help.