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

 

문제가 있는 장소를 찾았습니다.

 //+------------------------------------------------------------------+
//| Init local header structure from charr array                     |
//+------------------------------------------------------------------+
bool ZipLocalHeader::LoadFromCharArray( uchar &array[])
{
   if ( ArraySize (array) != sizeof (ZipLocalHeader))
   {
       SetUserError (ZIP_ERROR_BAD_FORMAT_ZIP);
       return false ;
   }
   ZipLocalHeaderArray zarray;
   ArrayCopy (zarray.array, array);
   this = (ZipLocalHeader)zarray;
   if (header != ZIP_LOCAL_HEADER)
   {
       SetUserError (ZIP_ERROR_BAD_FORMAT_ZIP);
       return false ;
   }
   return true ;
}
밑줄 친 줄은 충돌을 일으킵니다.
 
A100 :

지원팀 2015.10.23 14:18
안녕하세요.
이 계정은 2주간 연결되지 않아 삭제되었습니다.

터미널을 업데이트할 목적으로만 더 자주 연결하거나 매번 새로 등록해야 하는 것으로 나타났습니다.

나는 적어도 하루에 한 번 데모 계정에 연결합니다. 그리고 정보 공유해주셔서 감사합니다.
 
Vasiliy Sokolov :

문제가 있는 장소를 찾았습니다.

밑줄 친 줄은 충돌을 일으킵니다.
수정했습니다. 새 빌드에서는 충돌이 발생하지 않습니다.
 

MT4 빌드 900

포함된 클래스가 있는 목록

 #include <Object.mqh>

이전에는 오류 없이 작동했지만 이제 문제가 발생하기 시작했습니다.

can't open "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\EDCF3DASDFGHJKL463EF6E36630ADFFD\MQL5\include\Object.mqh" include file    ValType.mqh     10      11

이유는 무엇입니까?

 
coderex :

이유는 무엇입니까?

*.mq4 파일이 *.mq5가 되었습니다.

확장자를 변경하기 위한 마지막 작업이 이유입니다.

 
coderex :

MT4 빌드 900

포함된 클래스가 있는 목록

이전에는 오류 없이 작동했지만 이제 문제가 발생하기 시작했습니다.

이유는 무엇입니까?

불행히도 이것은 내 실수입니다. 900 빌드 컴파일러 는 MQL5 언어 를 사용하여 모든 mqh를 컴파일합니다.

오늘 우리는 이 오류가 포함되지 않은 빌드를 출시할 계획입니다.
 
Renat Fatkhullin :

뷰어 파일은 windows/system32 디렉토리로 이동됩니다.

내가 제대로 이해한다면, 뷰어 파일은 비트 심도에 따라 OS에 의해 선택되고 원하는 파일이 복사되고 불필요한 파일은 삭제되기 때문입니다. windows/system32에는 MetaViewer64.dll만 있고 metaviewer.dll은 없습니다.
 
Ilyas :
불행히도 이것은 내 실수입니다. 900 빌드 컴파일러 는 MQL5 언어 를 사용하여 모든 mqh를 컴파일합니다.

오늘 우리는 이 오류가 포함되지 않은 빌드를 출시할 계획입니다.

빌드 902에는 이미 포함되어 있습니다. 감사합니다. 하지만 클래스 선언 뒤에 클래스 메서드를 정의하는 경우에만 오류가 발생합니다.

따라서 오류가 없습니다.

 /*!
   \brief   Контейнер для хранения значений в зависимости от типа
*/
template < typename T>
class CValContType : public CObject
  {
private :
   T     m_tVal;       // значение типа T

public :
                     CValContType(T aVal) { m_tVal = aVal; };   // конструктор
                    ~CValContType( void ) { };
   T                 GetData( void ) { return m_tVal; };           // получение хранимых в контейнере данных
  };

다음은 오류입니다.

 /*!
   \brief   Контейнер для хранения значений в зависимости от типа
*/
template < typename T>
class CValContType : public CObject
  {
private :
   T     m_tVal;       // значение типа T

public :
                     CValContType(T aVal);
                    ~CValContType( void );
   T                 GetData( void );           // получение хранимых в контейнере данных
  };
//+------------------------------------------------------------------+
/*!
   Конструктор
   \param   T aVal - значение контейнера
*/
template < typename T>
CValContType::CValContType(T aVal) { m_tVal = aVal; }
/*!
   Деструктор
*/
CValContType::~CValContType( void ) { }
/*!
   Получение хранимых в контейнере данных
   \return   возвращает значение контейнера
*/
template < typename T>
T CValContType::GetData( void ) { return m_tVal; }
//+------------------------------------------------------------------+

실수:

'CValContType' - template mismatch      ValType.mqh
소멸자 정의가 있는 문자열을 가리킵니다. 디자인의 성능을 확인하기 위해 지금까지 꺼내보았습니다. 클래스 템플릿의 경우 각 외부 메서드 정의에 템플릿 < typename T> 구성을 추가해야 합니다.
 

MT4에서 차트 새로 고침을 클릭한 후 로그에서 동일한 작업이 반복됩니다. HistoryCenter: 'GBPSGD1'에서 가져온 막대 2개

주말이고 모든 이야기가 업로드됩니다. 따라서 두 개의 막대를 가져와서는 안 됩니다.

 
템플릿의 경우 본문을 외부로 이동하지 않고 클래스 설명 내부에 모든 메서드를 배치해야 합니다.
사유: