Alexey Navoykov: Да не имеет никакого смысла эта ссылка, сказано же разработчиком. Всё и так передаётся по ссылке. Разница была только в древнем MQL4. И никаких проверок нет при чтении стринга.
Только утомляют подобные утверждения.
int f1( string Str )
{
return((Str += Str) == Str);
}
int f2( string &Str )
{
return((Str += Str) == Str);
}
int Bench1( constint Amount = 1e8 )
{
int Res = 0;
string Str = NULL;
for (int i = 0; i < Amount; i++)
Res += f1(Str);
Print(Res);
return(Res);
}
int Bench2( constint Amount = 1e8 )
{
int Res = 0;
string Str = NULL;
for (int i = 0; i < Amount; i++)
Res += f2(Str);
Print(Res);
return(Res);
}
voidOnStart()
{
BENCH(Bench1())
BENCH(Bench2())
BENCH(Bench1())
BENCH(Bench2())
}
Добрый день! В журнале МТ5 выскакивает вот такое сообщение: 2020.05.21 05:49:44.364 Virtual Hosting failed to get list of virtual hosts (www.mql5.com:443 send request failed [12002])
Подскажите, люди добрые, что бы это значило, и что с этим делать?
time of [Bench1()] = 1483377100000000
time of [Bench2()] = 1725035100000000
time of [Bench1()] = 1523441100000000
time of [Bench2()] = 1712777100000000
time of [Bench1()] = 1416779100000000
time of [Bench2()] = 1452093100000000
time of [Bench1()] = 1399366100000000
time of [Bench2()] = 1449939
У меня отказывается работать отладчик в одном моём проекте. При чем, его поведение сложно предсказать. Иногда он просто отказывается заходить на точки останова. В некоторые функции также заходить отказывается напрочь. Сначала я думал, причина в обновлениях (вдруг с отладкой что-то пошло не так). Но в других более простых программах всё вроде работает. Хотя я особо подробно не проверял, так как работаю над своим основным проектом. Он получился довольно сложным и включает в себя 15 модулей только моей разработки (количество стандартных модулей я не считал). Основной модуль содержит до 2000 строк. Я подумал, может быть всё дело в сложности проекта... К тому же, в некоторых местах я испольную макросы для повторяющихся фрагментов кода. Еще я использую стандартные элементы UI, такие как CAppDialog, CCheckGroup, CComboBox, CButton и т.п, которые я переписал под функционал моей программы. Возможно отладка не работает из-за них... Например, в метод CCheckGroup::itemCheckState(const string item), специально написанный мною, отладка не заходит. Метод находит элемент чек бокса и проверяет выбран ли он (его State):
Вот какой UI получился у меня в итоге:
Часть элементов UI временно засекречена. А вот ветка, где я рассказываю о том как я переопределил методы Show() и Hide() элемента CAppDialog: https://www.mql5.com/ru/forum/338301. Тогда компилятор ругался, возникла критическая ошибка.
В итоге получается, что проект нормально компилируется, компилятор не выдает никаких ошибок. Но отладка работает со сбоями и просто не показывает выполнение некоторых фрагментов кода, функций, методов и т.п.
На сколько я понимаю, причин может быть несколько.
Сложный код проекта, использование макросов
Усложнение кода использованием стандартных элементов UI, таких как CAppDialog, CCheckGroup, CComboBox, CButton (к которым я, к тому же, написал новые методы и переопределил некоторые из существующих)
Баг отладчика, связанный с новым билдом (возможно, хоть и маловероятно)
Информация о билде и системе:
У кого возникали подобные проблемы с отладчиком и в чём может быть причина?
Получается, метод исправно работает, но отладчик почему-то перестаёт видеть его. Без нормальной работы отладчика работа над проектом может на долго затянуться. Хотелось бы, чтобы Разработчики обратили внимание на данный баг связанный скорее всего с отладчиком.
Получается, метод исправно работает, но отладчик почему-то перестаёт видеть его. Без нормальной работы отладчика работа над проектом может на долго затянуться. Хотелось бы, чтобы Разработчики обратили внимание на данный баг связанный скорее всего с отладчиком.
Очень много текста, все не читал. Но если у вас что-то работает в дебаг версии и при этом не работает в релиз, или наоборот, то проверьте все ли переменные и поля, особенно в классе/структуре, были инициализированы.
Да не имеет никакого смысла эта ссылка, сказано же разработчиком. Всё и так передаётся по ссылке. Разница была только в древнем MQL4. И никаких проверок нет при чтении стринга.
Только утомляют подобные утверждения.
Только утомляют подобные утверждения.
Может быть, проще написать:
?...
Зачем пить подобное?
Может быть, проще написать:
Обсуждается другое.
Только утомляют подобные утверждения.
чтобы не быть голословным, приведите бенч для тестов где строка не изменяется.
Добрый день! В журнале МТ5 выскакивает вот такое сообщение: 2020.05.21 05:49:44.364 Virtual Hosting failed to get list of virtual hosts (www.mql5.com:443 send request failed [12002])
Подскажите, люди добрые, что бы это значило, и что с этим делать?
Спасибо!
У меня отказывается работать отладчик в одном моём проекте. При чем, его поведение сложно предсказать. Иногда он просто отказывается заходить на точки останова. В некоторые функции также заходить отказывается напрочь. Сначала я думал, причина в обновлениях (вдруг с отладкой что-то пошло не так). Но в других более простых программах всё вроде работает. Хотя я особо подробно не проверял, так как работаю над своим основным проектом. Он получился довольно сложным и включает в себя 15 модулей только моей разработки (количество стандартных модулей я не считал). Основной модуль содержит до 2000 строк. Я подумал, может быть всё дело в сложности проекта... К тому же, в некоторых местах я испольную макросы для повторяющихся фрагментов кода. Еще я использую стандартные элементы UI, такие как CAppDialog, CCheckGroup, CComboBox, CButton и т.п, которые я переписал под функционал моей программы. Возможно отладка не работает из-за них... Например, в метод CCheckGroup::itemCheckState(const string item), специально написанный мною, отладка не заходит. Метод находит элемент чек бокса и проверяет выбран ли он (его State):
Вот какой UI получился у меня в итоге:
Часть элементов UI временно засекречена. А вот ветка, где я рассказываю о том как я переопределил методы Show() и Hide() элемента CAppDialog: https://www.mql5.com/ru/forum/338301. Тогда компилятор ругался, возникла критическая ошибка.
В итоге получается, что проект нормально компилируется, компилятор не выдает никаких ошибок. Но отладка работает со сбоями и просто не показывает выполнение некоторых фрагментов кода, функций, методов и т.п.
На сколько я понимаю, причин может быть несколько.
Информация о билде и системе:
https://www.mql5.com/ru/forum/1111/page2746#comment_16481481
В методе CCheckGroup::itemCheckState (в который отладчик добраться не может) прописал примерно следующее:
И получил следующее сообщение:
2020.05.21 13:20:44.229 CCheckGroup::itemCheckState item: 39 state: 32
https://www.mql5.com/ru/forum/1111/page2746#comment_16481481
Без нормальной работы отладчика работа над проектом может на долго затянуться. Хотелось бы, чтобы Разработчики обратили внимание на данный баг связанный скорее всего с отладчиком.
Очень много текста, все не читал.
Но если у вас что-то работает в дебаг версии и при этом не работает в релиз, или наоборот, то проверьте все ли переменные и поля, особенно в классе/структуре, были инициализированы.