Методом научного тыка удалось выяснить, что ошибка возникает, из-за кода.
У меня библиотека wininet_dll.mqh со следующим блоком
int WebRequest123(const string method,// метод HTTP //Первая функция вызывает следующую const string url,// url-адрес const string cookie,// cookie const string referer,// referer int timeout,// таймаут char &data[],// массив тела HTTP-сообщения int data_size,// размер массива data[] в байтах char &result[],// массив с данными ответа сервера string &result_headers)// заголовки ответа сервера { string headers="Content-Type:application/json\r\n";// application/x-www-form-urlencoded if(StringLen(cookie)>0) headers+="Cookie:"+cookie+"\r\n"; if(StringLen(referer)>0) headers+="Referer:"+referer+"\r\n"; int a = WebRequest123(method,url,headers,timeout,data,result,result_headers); // добавляем хедерсы и переходим к функции ниже. return( a ); //return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int WebRequest123(const string method,// HTTP method const string url, // url address const string headers,// headers int timeout,// timeout char &data[],// request body char &result[],// result body string &result_headers) //result headers { .... }
Этот код без проблем компилится. И эксперт работает отлично.
Но отправка этого кода Cloud Protector всегда возвращает ошибку
ВОпрос решился. Я просто сделал из двух функция одну.
Этот код без проблем компилится. И эксперт работает отлично.
Но отправка этого кода Cloud Protector всегда возвращает ошибку
Не воспроизводится.
protecting finished successfully 1 1
Попробуйте этот код целиком
int OnInit() { char data[]; int data_size=0; uchar result[]; string result_headers; int res=_WebRequest("POST","https://ya.ru",NULL,NULL,100,data,data_size,result,result_headers); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int _WebRequest(const string method,// метод HTTP const string url,// url-адрес const string cookie,// cookie const string referer,// referer int timeout,// таймаут char &data[],// массив тела HTTP-сообщения int data_size,// размер массива data[] в байтах char &result[],// массив с данными ответа сервера string &result_headers)// заголовки ответа сервера { string headers="Content-Type:application/json\r\n";// application/x-www-form-urlencoded if(StringLen(cookie)>0) headers+="Cookie:"+cookie+"\r\n"; if(StringLen(referer)>0) headers+="Referer:"+referer+"\r\n"; return _WebRequest(method,url,headers,timeout,data,result,result_headers); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int _WebRequest(const string method,// HTTP method const string url, // url address const string headers,// headers int timeout,// timeout char &data[],// request body char &result[],// result body string &result_headers) //result headers { //--- проверка DLL if(!MQLInfoInteger(MQL_DLLS_ALLOWED)) { return(ERR_DLL_CALLS_NOT_ALLOWED); } return(0); }
![fxsaber fxsaber](https://c.mql5.com/36/47/fxsaber__1.png)
Заменил ERR_DLL_CALLS_NOT_ALLOWED на 0, чтобы компиляция шла.
В итоге протектор отработал без проблем.
Здорово, что у вас получилось.
Но у меня изменений нет).
Странно, что такая проблема существует.
Я так понимаю, что ERR_DLL_CALLS_NOT_ALLOWED это просто число 4017. Какая разница протектору какое число там стоит.
Как уже писал, мне помогает правка кода.
------
уточню код MQL4
уточню код MQL4
Важное уточнение.
protecting finished with error 'unknown' 1 1 EX4 write error 0 0
Появилась эта ошибка и у меня. MT4
2022.06.27 08:50:14.843 Forex4you build 1356 started (E-Global Trade and Finance Group, Inc.)
любой код генерит
sending request to protector service . 1 1 sending request to protector server error (3-3, #0) 0 0
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Ошибка возникает при отправке экспертов в сервис Cloud Protector.
Стала проявляться 2 недели назад.
Причем проблема проявляется только у тяжелых советников с большим функционалом и графикой внутри. Легкие файлы защищаются без вопросов.
В чем может быть проблема?