Ошибки, баги, вопросы - страница 2784

 
YanGillan:

А куда слать багрепорты, чтобы на них отреагировали разработчики?
Начиная с какого-то релиза сломана компиляция шаблонных классов, вызывающих статические функции. Пример:
Класс Bar компилировался ранее и 64 битным и 32 битным MQL5. Сейчас выдает ошибку. build 2485 05 Jun 2020

Вы будете где-то 5-м пользователем, который жалуется на данный баг в том или ином виде...

 
Sergey Dzyublik:

Вы будете где-то 5-м пользователем, который жалуется на данный баг в том или ином виде...

Да, ну а что делать-то? Я знаю про обходной путь через базовый класс, но это ппц костыль. И патчить весь код сейчас не в тему как-то.

А где можно скачать предыдущие билды? У брокера не нашел, на сайте mt5 тоже нет.

 
YanGillan:

Да, ну а что делать-то? Я знаю про обходной путь через базовый класс, но это ппц костыль. И патчить весь код сейчас не в тему как-то.

А где можно скачать предыдущие билды? У брокера не нашел, на сайте mt5 тоже нет.

 
YanGillan:

Я знаю про обходной путь через базовый класс, но это ппц костыль. И патчить весь код сейчас не в тему как-то.

Вы об этом способе или о каком-то другом?

template<typename T>
class GetClassType{
public:
   class type : public T{}; 
};


class Foo {
public:
    static void Start() {
        Print("Hallo!");
    }
};

template<typename T>
class Bar {
public:
    Bar() {
        GetClassType<T>::type::Start();
    }
};

void OnStart() {
    Bar<Foo> var;
}
 
Sergey Dzyublik:

Вы об этом способе или о каком-то другом?

Спасибо за ссылку на архив!

Я нашел вот такой способ. Но это конечно же ужасное решение. Для каждого случая делать базовый класс, наследование и указатели в вызывающем коде.

Ваше решение гораздо лучше, с этим вполне можно жить!

class Base {
public:
    Base() {}
    virtual void Start() {};
};

class Foo : public Base {
public:
    static void Start() {
        Print("Hallo!");
    }
};

template<typename T>
class Bar {
    Base* funcs;
public:
    Bar() {
        funcs = new T();                                                                                                                                                                                    
        funcs.Start();
    }
    ~Bar() {
        delete funcs;
    }
};

void OnStart() {
    Bar<Foo> var;
}
 

А какой смысл во внесенных изменениях для Find/Replace в ME(2497)?
Вот рефакторю я код, выделяю функцию c неудачным названием, жму Ctrl+H ==> ввожу новое имя для функции ==> Replace All.

Результат:
- вообще не понятно что произошло, документ покрутился из конца, где необходимо продолжать работу, в какое-то место возле начала;
- фокус переместился на вкладку "журнал";
- во вкладку "журнал" пишется куча ненужной информации, которая только отвлекает внимание и не нужна пользователю без крайней необходимости.


Получается, что бы после автозамены продолжить работу с того же места, приходится идти на крайности:
- перед заменой использовать Bookmark (Ctrl+F2);
- после замены возвращаться на место Bookmark (F2) ;
- и в конце снимать установленный ранее Bookmark (Ctrl+F2).
Мягко говоря - вообще неудобно. 

 

Здравствуйте! 

Создается впечатление, что 

ObjectsDeleteAll

не отрабатывает в визуальном тестере стратегий. Пробовал тестирование на исторических данных 

   1 ObjectsDeleteAll(0,-1,-1);
   2 ObjectsDeleteAll(0,0,-1);

ни 1, ни 2. 

Build

 

 
Sergey Dzyublik:

А какой смысл во внесенных изменениях для Find/Replace в ME(2497)?
Вот рефакторю я код, выделяю функцию c неудачным названием, жму Ctrl+H ==> ввожу новое имя для функции ==> Replace All.

Результат:
- вообще не понятно что произошло, документ покрутился из конца, где необходимо продолжать работу, в какое-то место возле начала;
- фокус переместился на вкладку "журнал";
- во вкладку "журнал" пишется куча ненужной информации, которая только отвлекает внимание и не нужна пользователю без крайней необходимости.


Получается, что бы после автозамены продолжить работу с того же места, приходится идти на крайности:
- перед заменой использовать Bookmark (Ctrl+F2);
- после замены возвращаться на место Bookmark (F2) ;
- и в конце снимать установленный ранее Bookmark (Ctrl+F2).
Мягко говоря - вообще неудобно. 

можно вот так попробовать, вроде стабильнее


 

не работает функция GoTo Definition, если часть строки перенесена


Build 


 
Nikolai Karetnikov:

не работает функция GoTo Definition, если часть строки перенесена


Build 


Да уж(