Ошибка при компиляции в версии от 01.06.2025

 

Подскажите, почему в предыдущих релизах терминала код работал, а сейчас выдает  ошибки?

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool GetPostData(char &postData[], string &headers, string chat, string text, string fileName)
  {

   ResetLastError();

   if(!FileIsExist(fileName))
     {
      PrintFormat("File '%s' does not exist", fileName);
      return (false);
     }

   int flags = FILE_READ | FILE_BIN;
   int file  = FileOpen(fileName, flags);
   if(file == INVALID_HANDLE)
     {
      int err = GetLastError();
      PrintFormat("Could not open file '%s', error=%i", fileName, err);
      return (false);
     }

   int   fileSize = (int)FileSize(file);
   uchar photo[];
   ArrayResize(photo, fileSize);
   FileReadArray(file, photo, 0, fileSize);
   FileClose(file);

   string hash = "";
   AddPostData(postData, hash, "chat_id", chat);
   if(StringLen(text) > 0)
     {
      AddPostData(postData, hash, "caption", text);
     }
   AddPostData(postData, hash, "photo", photo, fileName);
   ArrayCopy(postData, "--" + hash + "--\r\n");

   headers = "Content-Type: multipart/form-data; boundary=" + hash + "\r\n";

   return (true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void AddPostData(uchar &data[], string &hash, string key = "", string value = "")
  {

   uchar valueArr[];
   StringToCharArray(value, valueArr, 0, StringLen(value));

   AddPostData(data, hash, key, valueArr);
   return;
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void AddPostData(uchar &data[], string &hash, string key, uchar &value[], string fileName = "")
  {

   if(hash == "")
     {
      hash = Hash();
     }

   ArrayCopy(data, "\r\n");
   ArrayCopy(data, "--" + hash + "\r\n");
   if(fileName == "")
     {
      ArrayCopy(data, "Content-Disposition: form-data; name=\"" + key + "\"\r\n");
     }
   else
     {
      ArrayCopy(data, "Content-Disposition: form-data; name=\"" + key + "\"; filename=\"" +
                fileName + "\"\r\n");
     }
   ArrayCopy(data, "\r\n");
   ArrayCopy(data, value, ArraySize(data));
   ArrayCopy(data, "\r\n");

   return;
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ArrayCopy(uchar &dst[], string src)
  {

   uchar srcArray[];
   StringToCharArray(src, srcArray, 0, StringLen(src));
   ArrayCopy(dst, srcArray, ArraySize(dst), 0, ArraySize(srcArray));
   return;
  }
'AddPostData' - no one of the overloads can be applied to the function call     111.mq5     2221    4
could be one of 2 function(s)   Grid_gann_angle.mq5     2221    4
   void AddPostData(uchar&[],string&,string,string)     111.mq5     2236    6
   void AddPostData(uchar&[],string&,string,uchar&[],string)    111.mq5     2249    6
'AddPostData' - no one of the overloads can be applied to the function call     111.mq5     2224    7
could be one of 2 function(s)   Grid_gann_angle.mq5     2224    7
   void AddPostData(uchar&[],string&,string,string)     111.mq5     2236    6
   void AddPostData(uchar&[],string&,string,uchar&[],string)    111.mq5     2249    6
'AddPostData' - no one of the overloads can be applied to the function call     Grid_gann_angle.mq5     2226    4
could be one of 2 function(s)   Grid_gann_angle.mq5     2226    4
   void AddPostData(uchar&[],string&,string,string)     111.mq5     2236    6
   void AddPostData(uchar&[],string&,string,uchar&[],string)    111.mq5     2249    6
'ArrayCopy' - no one of the overloads can be applied to the function call       111.mq5     2227    4
could be one of 2 function(s)   Grid_gann_angle.mq5     2227    4
   built-in: int ArrayCopy(void&,const void&,int,int,int)       111.mq5     2227    4
   void ArrayCopy(uchar&[],string)      Grid_gann_angle.mq5     2278    6
 
Aliaksandr Kazunka:

Подскажите, почему в предыдущих релизах терминала код работал, а сейчас выдает  ошибки?

Типы массивов разные. В одном месте - char, в других - uchar

 
Aliaksandr Kazunka:
Подскажите, почему в предыдущих релизах терминала код работал, а сейчас выдает  ошибки?
Artyom Trishkin #:
Типы массивов разные. В одном месте - char, в других - uchar

В новых версиях терминала теперь с этим строго.

 
Edgar Akhmadeev #:

В новых версиях терминала теперь с этим строго.

Так вопрос в том, что Webrequest только с char работает

 
Edgar Akhmadeev #:

В новых версиях терминала теперь с этим строго.

Половина программ посыпали ошибки, так быть не должно - должна оставаться совместимость.

Это очень печально.