Download MetaTrader 5

Important Update for MetaTrader 4 build 1080 - page 2

To add comments, please log in or register
Alain Verleyen
Moderator
33504
Alain Verleyen  
Eleni Anna Branou:


Many brokers are not upgrading their MT4 terminals to every new upgrade. They wait and upgrade when there is a more stable version.

My broker has not upgraded to 1074 too, probably will upgrade straight to 1080 version, that corrects the Windows upgrade problem.

1074 was never an official release, no broker used this build.

Anyway, all this update system is a mess for professional coders.

Savoiardo
79
Savoiardo  

Hey all,

I don't understand what's wrong if is the new update or my code.

I am getting error:

'TempArray' - structures containing objects are not allowed

'Arr' - structures containing objects are not allowed

in this code, that has always compiled before the update.

void DeleteElementInArray(Holder *&Arr[],int index)
  {
   delete Arr[index];
   if(ArraySize(Arr)==0)
     {
      ArrayFree(Arr);
      ArrayResize(Arr,0);
     }
   else if(index==0)
     {
      Holder *TempArray[];
      ArrayCopy(TempArray,Arr,0,1);
      ArrayFree(Arr);
      ArrayCopy(Arr,TempArray,0,0);
     }
   else
     {
      Holder *TempArray[];
      ArrayCopy(TempArray,Arr,0,0,index);
      ArrayCopy(TempArray,Arr,index,(index+1));
      ArrayFree(Arr);
      ArrayCopy(Arr,TempArray,0,0);
     }
  }


Do we have to change anything? Why is that happening?

Eleni Anna Branou
4277
Eleni Anna Branou  
Alain Verleyen:

1074 was never an official release, no broker used this build.

Anyway, all this update system is a mess for professional coders.


Ah, I see Alain, that explains it. Thanks!
fxsaber
8283
fxsaber  
Savoiardo:

Hey all,

I don't understand what's wrong if is the new update or my code.

I am getting error:

'TempArray' - structures containing objects are not allowed

'Arr' - structures containing objects are not allowed

in this code, that has always compiled before the update.


Do we have to change anything? Why is that happening?

Use custom ArrayCopy for void* Array[].

template <typename T>
int ArrayCopy( T &Dst_Array[], const T &Src_Array[], const int Dst_Start = 0, const int Src_Start = 0, const int Count = WHOLE_ARRAY );
Ku Chuan Lien
183
Ku Chuan Lien  

CRASH!!!

These codes will crash the whole MT4 v.1080 when strategy testing, it worked fine before the last one update.

struct _COLOR2RGB;

struct _RGB2COLOR
{ 
private:

        void oequ( _RGB2COLOR &rc, _COLOR2RGB &cr )
        {
                rc = cr;
        }

public:

        color c; 

        color operator=( _COLOR2RGB &c );

        _RGB2COLOR operator=( color co )
        {
                c = co;

                return this;
        }
};

struct _COLOR2RGB
{
private:

        void oequ( _COLOR2RGB &cr, _RGB2COLOR &rc )
        {
                cr = rc;
        }

public:

        uchar b;
        uchar g;
        uchar r;
        uchar a;

        _COLOR2RGB operator=( _RGB2COLOR &rc )
        {
                oequ( this, rc );
                //this = /*( _COLOR2RGB )*/ rc;

                return this;
        }

        _COLOR2RGB operator=( color c )
        {
                _RGB2COLOR rc;

                rc.c = c;
                oequ( this, rc );
                //this = /*( _COLOR2RGB )*/ rc;

                return this;
        }
};

color _RGB2COLOR::operator=( _COLOR2RGB &cr )
{
        oequ( this, cr );
        //this = /*( _RGB2COLOR )*/ cr;

        return c;
}
fxsaber
8283
fxsaber  

Forum on trading, automated trading systems and testing trading strategies

Important Update for MetaTrader 4 build 1080

Googol Lien, 2017.05.14 22:17

CRASH!!!

These codes will crash the whole MT4 v.1080 when strategy testing, it worked fine before the last one update.

struct _COLOR2RGB;

struct _RGB2COLOR
{ 
private:

        void oequ( _RGB2COLOR &rc, _COLOR2RGB &cr )
        {
                rc = cr;
        }

public:

        color c; 

        color operator=( _COLOR2RGB &c );

        _RGB2COLOR operator=( color co )
        {
                c = co;

                return this;
        }
};

struct _COLOR2RGB
{
private:

        void oequ( _COLOR2RGB &cr, _RGB2COLOR &rc )
        {
                cr = rc;
        }

public:

        uchar b;
        uchar g;
        uchar r;
        uchar a;

        _COLOR2RGB operator=( _RGB2COLOR &rc )
        {
                oequ( this, rc );
                //this = /*( _COLOR2RGB )*/ rc;

                return this;
        }

        _COLOR2RGB operator=( color c )
        {
                _RGB2COLOR rc;

                rc.c = c;
                oequ( this, rc );
                //this = /*( _COLOR2RGB )*/ rc;

                return this;
        }
};

color _RGB2COLOR::operator=( _COLOR2RGB &cr )
{
        oequ( this, cr );
        //this = /*( _RGB2COLOR )*/ cr;

        return c;
}
Recursive infinite loop.
sfonti
75
sfonti  

The FuzzyNet library dont work anymore, when i try to compile a program with FuzzyNet the Metaeditor gives me 37 Errors like this one from RuleParser.mqh:

 

 //+------------------------------------------------------------------+
   //| Build lexems list                                                |
   //+------------------------------------------------------------------+
private:
   static CList *BuildLexemsList(CList *in,CList *out)
     {
      CList *lexems=new CList();
      for(int i=0;i<ArraySize(KEYWORDS); i++)
        {
         string keyword=KEYWORDS[i];
         KeywordLexem *keywordLexem=new KeywordLexem(keyword);
         Dictionary_String_Obj *p_so=new Dictionary_String_Obj;
         p_so.SetAll(keywordLexem.Text(),keywordLexem);
         lexems.Add(p_so);
        }
      for(int i=0; i<in.Total(); i++)
        {
         INamedVariable *var=in.GetNodeAtIndex(i);
         BuildLexemsList(var,true,lexems);
        }
      for(int i=0; i<out.Total(); i++)
        {
         INamedVariable *var=out.GetNodeAtIndex(i);
         BuildLexemsList(var,false,lexems);
        }
      //--- return lexems
      return (lexems);
     }

i- variable already defined

for me the code is ok, cant identify any error.

fxsaber
8283
fxsaber  
sfonti:

The FuzzyNet library dont work anymore, when i try to compile a program with FuzzyNet the Metaeditor gives me 37 Errors like this one from RuleParser.mqh:

 

i- variable already defined

for me the code is ok, cant identify any error.

#property strict
Savoiardo
79
Savoiardo  
fxsaber:

Use custom ArrayCopy for void* Array[].

Thanks, it worked.

Maybe i'll go a little off topic here, but can't understand why it worked, i've never seen a function declaration without body..

Does it override the function parameters without changing the body of the function?

fxsaber
8283
fxsaber  
Savoiardo:

Thanks, it worked.

Maybe i'll go a little off topic here, but can't understand why it worked, i've never seen a function declaration without body..

Does it override the function parameters without changing the body of the function?

Write the body of the function you want.
To add comments, please log in or register