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

 
Nikolai Semko #:
Зачем спорить о очевидных вещах?
В руках ламера любой цикл может подвесить систему.
В руках опытного разработчика никакой цикл не подвесит систему, в том числе и с канвасом 8K

старинный спор ? :-)

микрософту расскажи как им передавать и обновлять растр 8K хотя-бы 12 раз в секунду 

пока интерфейсы строятся обычными окнами (объектами MT) всё быстро, потому-что система знает что где поменялось и передаёт мелкие изменения и примитивы рисования. Про канвас она ничего не знает кроме его размера и что он поменялся - она вынуждена передать весь или устраивать аналог MJPEG на 8K. Сей процесс RDP легко выставляет и VDS и сетевое соединение. 

 
fxsaber #:

Я некомпетентен, подожду комментариев.

Не получается универсально преобразовать указатель в объект.

Не особо знаком с проблемой, но кто мешает разыменовать указатель в объект явно - funccall(*ptr) -  прежде чем делать множественные обращения к нему, например, в случае вызова (шаблонной) функции?

 
Stanislav Korotky #:

Не особо знаком с проблемой, но кто мешает разыменовать указатель в объект явно - funccall(*ptr) -  прежде чем делать множественные обращения к нему, например, в случае вызова (шаблонной) функции?

Вот пример.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: Input_Struct

fxsaber, 2024.07.31 08:24

class SYSTEM
{
public: 
  SYSTEM( const string sInputs = NULL ) {}
  
  virtual void OnTick( void ) = NULL;
};

class MACD : public SYSTEM
{
private:
  MACD_INPUT Inputs;
  
public:
  MACD( const string sInputs = NULL ) : SYSTEM(sInputs)
  {
    this.Inputs.Default();
    this.Inputs = sInputs;
  }
  
  virtual void OnTick( void ) {}
};

SYSTEM* System = NULL;

void OnInit()
{
  System = new MACD(inInputsAll);
}

void OnDeinit( const int )
{
  delete System;
}

void OnTick()
{
  System.OnTick();
}

Как обращаться к объекту не через указатель при вызове OnTick-метода?

 
fxsaber #:

Вот пример.

Как обращаться к объекту не через указатель при вызове OnTick-метода?

Чисто технически отвечая на вопрос, переменную System можно описать как объект, а не указатель - для этого достаточно в качестве виртуального OnTick определить пустую реализацию в базовом классе и убрать =NULL/delete.

 
Stanislav Korotky #:

Чисто технически отвечая на вопрос, переменную System можно описать как объект, а не указатель - для этого достаточно в качестве виртуального OnTick определить пустую реализацию в базовом классе и убрать =NULL/delete.

Минутка юмора.

 
fxsaber #:

Минутка юмора.

Ну, я не понял, что нужно - "шашечки или ехать"? Вы хотите избавиться от разыменования указателя при каждом обращении к функции - единственный способ: разыменовать единожды или просто где-то хранить объект вместо указателя (на глобальном уровне, внутри другого объекта или статически).

 
Stanislav Korotky #:

где-то хранить объект вместо указателя (на глобальном уровне, внутри другого объекта или статически).

Не получается хранить объект, созданный через new.

 
fxsaber #:

Не получается хранить объект, созданный через new.

Как так? В чем проблема описать переменную-объект вместо переменной-ссылки и присвоить ей результат new?

 
Stanislav Korotky #:

Как так? В чем проблема описать переменную-объект вместо переменной-ссылки и присвоить ей результат new?

Результат new можно поместить только в переменную-указатель, а не в переменную-объект (global/static). Если это не так, просьба показать.

 
fxsaber #:

Результат new можно поместить только в переменную-указатель, а не в переменную-объект (global/static). Если это не так, просьба показать.

Присвоить можно, но будет копирование объекта. Тут я упустил, что виртуализация перестанет работать.