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

 
TheXpert:
#ifdef

Не выйдет. Оба класса должны быть в работе.

 
fxsaber:

Не выйдет. Оба класса должны быть в работе.

не вижу проблем.

_____________

наследование

вынесение разностей в отдельные мелкие классы

 
TheXpert:

не вижу проблем.

_____________

наследование

вынесение разностей в отдельные мелкие классы

В классе несколько приличных по размеру методов. В каждом методе нужно только знак ">" заменить на знак "<".

Можно использовать virtual на подобие такого
class A
{
private:
  virtual bool Compare()
  {
    return(true);
  }
public:

  bool f()
  {
    return(this.Compare());
  }
};

class B : public A
{
private:
  virtual bool Compare()
  {
    return(false);
  }
};


void OnStart()
{
  A a;
  B b;
  
  Print(a.f());
  Print(b.f());
}


Но, к сожалению, нужно еще передать инициализирующее значение класса. Видимо, все же через шаблон придется делать.

 
fxsaber:

Я бы какие-нибудь адаптеры передавал через шаблонные параметры (не должно там быть каких-то тормозов), но если хочется так топорно, то тоже можно. Сделайте жёсткую ссылку на заголовочный файл (mklink /H <link> <target>, если не ошибаюсь. Можно погуглить на тему: "windows create hard link"). Ну и включаем это хозяйство обычным способом

#define _N C1    // имя класса
#define _M "c1"  // какой-то параметр
#include <qq.mqh>
#undef _N
#undef _M
#define _N C2
#define _M "c2"
#include <ee.mqh> // жёсткая ссылка на qq.mqh
#undef _N
#undef _M
 
pavlick_:

Я бы какие-нибудь адаптеры передавал через шаблонные параметры (не должно там быть каких-то тормозов), но если хочется так топорно, то тоже можно. Сделайте жёсткую ссылку на заголовочный файл (mklink /H <link> <target>, если не ошибаюсь. Можно погуглить на тему: "windows create hard link"). Ну и включаем это хозяйство обычным способом

Вы не поняли вопроса.

 
fxsaber:

Вы не поняли вопроса.

Ну х.з., а вы уверены что меня поняли? на всякий случай листинг qq.mqh и ee.mqh (одно сущность, меняя один меняется и другой)

class _N
{
public:
   void f() {Alert(_M);}
};

Всё как заказывали, класс не вмакросе, почти одинковы кроме _M.

 
pavlick_:

Ну х.з., а вы уверены что меня поняли? на всякий случай листинг qq.mqh и ee.mqh (одно сущность, меняя один меняется и другой)

Всё как заказывали, класс не вмакросе, почти одинковы кроме _M.

Въехал в Ваш метод. Это уже на уровне операционки получается, что один и тот же файл имеет два имени.  Все же предполагается легкий перенос кода на любую машину. Каждый раз делать mklink из-за этого - тот еще костыль.

 
pavlick_:

У себя кидаю на EURUSD, через секунды 4 терминал падает.

Может важно: x64, Wine

Спасибо за предоставленный EX5.

Очень подозрительная ошибка.

Предоставьте пожалуйста исходный код для изучения (через личные сообщения).

После изучения, Ваш код будет удалён.

 
pavlick_:
да, что-то типа так
 
Неактивна кнопка "написать ЛС", нужно в друзья добавить сначала?