오류, 버그, 질문 - 페이지 1743

 
디버거에서 함수가 반환을 통해 반환한 값을 확인하는 방법은 무엇입니까? 반환 에 중단점 을 넣었습니다. 도착하면 F10을 누릅니다. 그 대가로 무슨 일이 있었는지 이제 어떻게 볼 수 있습니까?
 
fxsaber :
디버거에서 함수가 반환을 통해 반환한 값을 확인하는 방법은 무엇입니까? 반환에 중단점을 넣었습니다. 도착하면 F10을 누릅니다. 이제 그 대가로 무슨 일이 일어났는지 확인하는 방법은 무엇입니까?
shift + F9('시계 추가')
그러나 모든 것이 클래스를 기반으로 하기 때문에 Meta Editore에서와 같이 끔찍하고 나쁘고 디버깅에 편리하지 않은 것처럼 곧 12개의 화난 편지를 기대할 수 있습니다.)
 
좋은 예를 보았다
class A
{
public :
   void operator =( const string Value ) const { return ; }

   void operator =( const int Value ) { return ; }
};

void OnStart ()
{
   const A a;

  a = 0 ; // implicit conversion from 'number' to 'string'
}
처음에는 경고 이유가 명확하지 않았습니다. 그러나 스마트 컴파일러.
 
Sergey Dzyublik :
shift + F9('시계 추가')
거기에 무엇을 가져올까요?
 
함수의 값이 손상된 변수입니다.
아무데도 반환하지 않거나 여러 개의 중첩 호출을 반환하지 않으면 거기에 함수의 결과를 쓰고 디버그할 수 있도록 변수를 만듭니다.
 
Sergey Dzyublik :
함수의 값이 손상된 변수입니다.
아무데도 반환하지 않거나 여러 개의 중첩된 호출을 반환하지 않으면 거기에 함수의 결과를 쓰고 디버그할 수 있도록 변수를 만듭니다.

글쎄요, 변수가 있으면 똑똑한 사람이라면 누구나 할 수 있습니다. 그리고 그녀 없이는 바보처럼 필요합니다.

이러한 기능이 많이

   virtual bool SetProperty( const ENUM_CHART_PROPERTY_INTEGER id, const int Value ) const
  {
     return (:: ChartSetInteger ( this .chartID, id, Value));
  }

   virtual bool SetProperty( const ENUM_CHART_PROPERTY_DOUBLE id, const double Value ) const
  {
     return (:: ChartSetDouble ( this .chartID, id, Value));
  }

   virtual long GetProperty( const ENUM_CHART_PROPERTY_INTEGER Property, const int SubWindow = 0 ) const
  {
     return (:: ChartGetInteger ( this .chartID, Property, SubWindow));
  }
  
   virtual double GetProperty( const ENUM_CHART_PROPERTY_DOUBLE Property, const int SubWindow = 0 ) const
  {
     return (:: ChartGetDouble ( this .chartID, Property, SubWindow));
  }

이제 각각에 변수를 삽입하시겠습니까? 다른 방법은 없나요?

 
OBJPROP_YOFFSET이 음수일 수 없는 이유는 무엇입니까? 도움말에 단위가 포함되어 있지 않습니다.
 
fxsaber :

이제 각각에 변수를 삽입하시겠습니까? 다른 방법은 없나요?

분명히 이러한 함수의 이름은 GetPropertyLong, GetPropertyDbl로 바꿔야 합니다. 이름이 같은 이유는 무엇입니까?

앞으로 개발자들은 GetProperty<long>(...)과 같이 호출될 수 있도록 함수 템플릿을 완성하겠다고 약속했습니다. 그러나 더 이상 가상 템플릿을 만들 수 없습니다.

 
Alexey Navoykov :

분명히 이러한 함수의 이름은 GetPropertyLong, GetPropertyDbl로 바꿔야 합니다. 이름이 같은 이유는 무엇입니까?

왜 다른 이름이 있는지 이해하지 못합니까? 이것이 내가 사용하는 방법입니다

this .SetProperty( OBJPROP_XSIZE , ( int )CHARTOBJECT::GetProperty( CHART_WIDTH_IN_PIXELS )); // Ширина объекта по оси X в пикселях
this .SetProperty( OBJPROP_YSIZE , ( int )CHARTOBJECT::GetProperty( CHART_HEIGHT_IN_PIXELS )); // Ширина объекта по оси Y в пикселях

this .SetProperty( OBJPROP_DATE_SCALE , false ); // Признак отображения шкалы времени для объекта "График"

this .SetProperty( OBJPROP_BACK , false ); // Объект на заднем плане

this .SetProperty( CHART_AUTOSCROLL , false ); // Режим автоматического перехода к правому краю графика
this .SetProperty( CHART_SHIFT , false ); // Режим отступа ценового графика от правого края

this .SetProperty( CHART_SHOW_OHLC , false ); // Отображение в левом верхнем углу значений OHLC
this .SetProperty( CHART_SHOW_PERIOD_SEP , false ); // Отображение вертикальных разделителей между соседними периодами
this .SetProperty( CHART_SHOW_VOLUMES , CHART_VOLUME_HIDE ); // Отображение объемов на графике
this .SetProperty( CHART_SHOW_TRADE_LEVELS , false ); // Отображение на графике торговых уровней (уровни открытых позиций, Stop Loss, Take Profit и отложенных ордеров)  

this .SetProperty( CHART_MODE , CHART_LINE ); // Тип графика (свечи, бары или линия)
this .SetProperty( CHART_COLOR_CHART_LINE , clrNONE ); // Цвет линии графика и японских свечей "Доджи"

this .SetProperty( CHART_SCALEFIX , true ); // Цвет линии графика и японских свечей "Доджи"

this .SetProperty( CHART_FIXED_MAX , 1.5 ); // Фиксированный максимум графика
this .SetProperty( CHART_FIXED_MIN , 1.0 ); // Фиксированный минимум графика

앞으로 개발자들은 GetProperty<long>(...)과 같이 호출될 수 있도록 함수 템플릿을 완성하겠다고 약속했습니다. 그러나 더 이상 가상 템플릿을 만들 수 없습니다.

예를 이해하지 못했습니다.

귀하(및 포럼의 다른 유능한 회원)가 귀하의 코드의 아키텍처 스타일과 프로그래밍 톤에 대한 비판(매우 진지하게)을 기쁘게 듣습니다. 완료되면 코드베이스에 게시하겠습니다. 배움은 결코 부끄럽지 않습니다.

 
네비게이터 창에서 표시기, 권고자 또는 스크립트를 제거하려고 하면 MT4에서 제거 확인을 요청합니다. 따라서 삭제하려는 항목(지표, 조언자 또는 스크립트)은 중요하지 않으며 질문의 텍스트는 변경되지 않습니다.

보편적인 질문 &quot;고문을 제거하시겠습니까?&quot;

MT4 빌드 1010(2016년 8월 19일)