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

 
Zeleniy :
나는 그것을 알아 냈고 한 달 이상 설치 파일을 가지고 있었고 이제 새 파일을 다운로드했고 모두 작동했습니다. 설치 파일도 변경되고 있다고 생각하지 않았습니다. 그런 다음 필요한 파일을 다운로드하기 때문입니다.
반대로 ... 오래된 것이 표시를 표시하지 않았다면 왜 표시를 시작해야합니까 ... 이것은 이상합니다 ..
 
micle :
반대로 ... 오래된 것이 표시를 표시하지 않았다면 왜 표시를 시작해야합니까 ... 이것은 이상합니다 ..
모르겠지만 새 것은 아무 징후도 없이 평소처럼 행동하고 설치 파일을 다운로드하기 시작했습니다.
 
Zeleniy :
모르겠지만 새 것은 아무 징후도 없이 평소처럼 행동하고 설치 파일을 다운로드하기 시작했습니다.
미스틱..
 
Zeleniy :
모르겠지만 새 것은 아무 징후도 없이 평소처럼 행동하고 설치 파일을 다운로드하기 시작했습니다.

이전에는 설치 프로세스 중 이러한 창의 모양이 컴퓨터의 보호(분명히 다음 업데이트와 관련하여) 및 이와 같은 후속 표현과 관련될 수 있다는 사실을 접했습니다.

동시에 설치 파일이 이전에 다운로드되었는지 아니면 방금 다운로드했는지는 중요하지 않습니다.

이제 만일을 대비하여 미래를 위해 이 새로운 중독에 대해 메모하겠습니다(지금 실험하지 않았습니다).

하지만 문제가 해결되어 기쁩니다.

가정: 내가 기억하는 한 최근 에 MT5 단말기의 업데이트 가 있었습니다. 아마도 이 경우 프록시 데이터를 입력해야 하는 창의 모양, 설치 파일의 오래된 버전 및 온라인 설치 프로세스 사이에 몇 가지 관계가 있을 수 있습니다.
 

2014.04.04 10:14 새 MT5 빌드의 변경 사항 목록에서: " 3. 터미널: 일부 조건에서 차트에 그래픽 개체가 그려지지 않는 버그 를 수정했습니다. " 잘 모르겠습니다. 개발자가 SD #966979에서 내 요청을 충족했거나 다른 종류의 수정이거나 다음 빌드에서 일부 개선의 부작용이지만 어쨌든 지금은 모든 것이 적합합니다. 변경 로그 에는 버그 라고 나와 있지만 SD 의 서신에서는 " 이것은 버그가 아니라 리소스를 절약하기 위한 제한 사항입니다. "라고 분명히 대답했습니다.

이제 이전과 같이 모든 TF에서 TA 대형을 편안하게 볼 수 있습니다.

감사합니다. 지원을 종료합니다.

 

파생 클래스에서 메서드 불변성 을 재정의할 수 있습니다(빌드 917).

 class A {
public :
         virtual void f() const {}
         int x;
};
class B : public A {
public :
         virtual void f() /*не const*/ { x = 2 ; }
};
void g( const A* a ) { a.f(); }
void OnStart ()
{
        A *a = new B();
        a.x = 1 ;
	Print( a.x ); //результат = 1
        g( a );
        Print ( a.x ); //результат = 2, а обещали, что g( const A* ) не может менять объект
         delete ( a );
}

한 가지 더 예

 class A {
public :
         virtual void f() const { Print ( "1" ); }
};
class B : public A {
public :
         virtual void f()       { Print ( "2" ); }
};
void g( const A* a ) { a.f(); }
void OnStart ()
{
        A *a = new B();
        g( a );
         delete ( a );
}

결과=2 및 C++ 결과=1

오류는 파생 클래스에서 기본 클래스와 동일한 이름을 가진 비 const 메서드를 선언하는 것이 가능하지만(허용됨) C++에서는 이들을 다르게 간주하고 MQL은 B::f( ) A::f() const 재정의

 

Print() 함수 는 부동 신호의 신호가 아닌 숫자를 신호가 아닌 숫자로 인쇄합니다. 이는 이중 - 둘 다 정상적으로 표시되기 때문에 비논리적입니다.

플로트의 경우 1) 신호가 아닌 접두어에서 Q 접두사를 제거한 다음 신호 및 비신호 접두사가 같은 방식으로 표시되거나 2) S 접두사가 있는 신호를 출력해야 합니다. 잘못되었습니다. Q 접두사가 없는 Print() 함수에 의해 표시되는 숫자가 아닌 부동 소수점 신호의 예를 제공하십시오.

예를 들어, 의도적으로 숫자가 아닌 이중 신호를 받아 부동으로 캐스팅하고 Print()를 통해 둘 다 출력합니다. 첫 번째 경우에는 SNAN이 인쇄되고 두 번째 경우에는 QNAN이 인쇄됩니다.

 

여기에서 테스터에서 파일에 데이터를 쓰는 방법을 선택하는 과정에서 다음과 같은 오류가 발생했습니다(적합하지 않아 축약됨).

 2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00    00 : 0x000000013FD1F038
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F04D 498 BCD            mov        rcx, r13
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F04A 41 B001            mov        r8b, 0x1
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F043 80 BD3804000000    cmp        byte [rbp+ 0x438 ], 0x0
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F040 83 C202            add        edx, 0x2
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F03D 418 BD4            mov        edx, r12d
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00    
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F03B EB03              jmp         0x13fd1f040
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00       crash -->   000000013 FD1F038 8 B50FC            mov        edx, [rax- 0x4 ]
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00    
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1F033 4885 C0            test       rax, rax
[cut]
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1EE6E 55                 push       rbp
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1EE67 4 C894018          mov        [rax+ 0x18 ], r8
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1EE63 48895808           mov        [rax+ 0x8 ], rbx
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00                  000000013 FD1EE60 488 BC4            mov        rax, rsp
2014.04 . 08 01 : 47 : 30.531 2013.07 . 01 02 : 10 : 00    Access violation at 0x000000013FD1F038 read to 0x00000003FFFFFFFF

즉, 이 오류는 내 곡률의 자연스러운 결과라는 것을 이해합니다. 그리고 어쨌든 빠르게 수정되었습니다(필요한 경우 세 번째 함수를 통해 문자열이 아닌 데이터를 FileWrite 에 전달하려는 시도에서 문제가 발생했습니다. 더 자세히 설명할 수 있음). 그러나 오류는 명확하지 않고 약간 무섭게 보입니다. :) 컴파일러는 예상되는 위치에 대해 암시하지 않습니다. 아마도 고정에 대한 일종의 경고 또는 무언가 ...

 
Lone_Irbis :

여기에서 테스터에서 파일에 데이터를 쓰는 방법을 선택하는 과정에서 다음과 같은 오류가 발생했습니다(적합하지 않아 축약됨).

즉, 이 오류는 내 곡률의 자연스러운 결과라는 것을 이해합니다. 그리고 어쨌든 빠르게 수정되었습니다( 필요한 경우 세 번째 함수를 통해 문자열이 아닌 데이터를 FileWrite에 전달하려는 시도에서 문제가 발생했습니다. 더 자세히 설명할 수 있음). 그러나 오류는 명확하지 않고 약간 무섭게 보입니다. :) 컴파일러는 예상되는 위치에 대해 암시하지 않습니다. 아마도 일종의 경고 또는 무언가를 망치는 것이 적어도 가치가있을 것입니다 ...

네, 자세히 설명해 주세요.

빌드, OS, 비트 심도, 테스터 설정 에 관심이 있습니다. 재현할 코드를 첨부합니다.

고맙습니다.

 

알겠습니다. 최선을 다하겠습니다. 적절한 시점으로 롤백하여 재생산하는 것으로 밝혀졌지만 즉시 버그를 분리하여 별도로 재생산하는 것은 불가능합니다..

빌드: MetaTester 5 x64 빌드 910(2014년 3월 7일) https://dl.dropboxusercontent.com/u/61587787/bugreport/build.png

축 Win7 x64 https://dl.dropboxusercontent.com/u/61587787/bugreport/system.png

테스터 창에서 복사-붙여넣기: https://dl.dropboxusercontent.com/u/61587787/bugreport/log.txt

테스터의 스크린샷(글쎄요, 당신은 절대 모릅니다): https://dl.dropboxusercontent.com/u/61587787/bugreport/tester1.png https://dl.dropboxusercontent.com/u/61587787/bugreport/tester2.png

테스터 설정 (내가 정확히 무엇을 의미했는지 이해하지 못함): https://dl.dropboxusercontent.com/u/61587787/bugreport/config.png

코드에서 추출:

   int idx = 133;
   WriteCSV( "test.csv" ,idx);
   
class Core { 
public :  
   void      WriteCSV( string FileName, string s1, string s2, string s3, string s4, string s5, string s6);
};

void Core::WriteCSV( string FileName, string s1, string s2= "" , string s3= "" , string s4= "" , string s5= "" , string s6= "" ){
   int handle = FileOpen (FileName, FILE_CSV | FILE_WRITE | FILE_SHARE_WRITE | FILE_UNICODE | FILE_COMMON , "~" );
   if (handle == INVALID_HANDLE ) Print ( "error" );
   else FileWrite (handle,s1,s2,s3,s4,s5,s6);
   FileClose (handle);
}

WriteCSV( "test.csv" ,(string)idx)로 대체되는 경우; - 오류가 사라집니다. 다른 비 문자열 변수는 여기에서 아무 작업도 수행하지 않습니다. 정확히 idx가 무엇인지는 차이가 없는 것 같지만(배열에 있는 뉴스의 일련 번호일 뿐입니다). 결과를 저장하려고 할 때 모든 뉴스에 재현됩니다. '숫자'에서 '문자열'로의 암시적 변환 경고에서 출력되지만 이 경우에만 충돌로 바뀝니다.

여하튼 나는 전체 코드와 .set을 여기에 게시하고 싶지 않지만 어딘가에 보낼 수 있습니다.