Workaround for ArrayInitialize() issues due MT5 Build 5100

 
I had a lot of problems in my code with ArrayInitialize() function after the new mt5 build 5100, so i made a workaround for me and i'm sharing here, sorry for the late as the corrections are probably coming in new build announced (build 5120). I'm posting directly here in 'General Forum' section, have no time to post this as a code or an article or format it in good looking way, so for those who are having problem maybe this can help. All the instructions are in the include attched file Workaround_MT5_Build_5100.mqh and test with the script test_for_workaround_ArrayInitlize_Build5100.mq5.
 
MoneyCaptain:
I had a lot of problems in my code with ArrayInitialize() function after the new mt5 build 5100, so i made a workaround for me and i'm sharing here, sorry for the late as the corrections are probably coming in new build announced (build 5120). I'm posting directly here in 'General Forum' section, have no time to post this as a code or an article or format it in good looking way, so for those who are having problem maybe this can help. All the instructions are in the include attched file Workaround_MT5_Build_5100.mqh and test with the script test_for_workaround_ArrayInitlize_Build5100.mq5.

After new update of the MT5 client build to 5120 the ArrayInitialize() function issues keep occurring for long (and ulong) data type.

Issue List (long/ulong types arrays)*:

#1: the returned value is zero even if the array has static/dynamic allocated dimensions.

#2: array element values can be initialized with dummy values. This issue is always occurring for static arrays and is intermittent for dynamic arrays.

#3: no error code returned in #1 and #2 catched using _LastError or GetLastError() after call of the ArrayInitialize() function, giving a false successful value (0). This issue is occurring for static and dynamic arrays.

*note: i'm compiling and running the tests in a Windows 10 Build: 019045.5965.