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

 
Alexey Kozitsyn :
예, 알겠습니다. 그러면 다른 응용 프로그램을 만들겠습니다.

내 MT5 주문 - 2016.10.11 16:28 , #1584315 - 지금까지 고려 대상으로 수락되었습니다. ;-)

[삭제]  
Stanislav Korotky :

내 MT5 주문 - 2016.10.11 16:28 , #1584315 - 지금까지 고려 대상으로 수락되었습니다. ;-)

이사회에서는 애플리케이션이 응답할 수 있도록 애플리케이션에 주기적으로 작성해야 합니다. 때때로 그들은 건너뜁니다.
 
Alexey Kozitsyn :
해결된 것 같았는데 지금은 그렇지 않습니다. 방금 확인했습니다. 빌드 1643.

이미 빌드 1650입니다.

[삭제]  
Artyom Trishkin :

이미 빌드 1650입니다.

좋아요, 방금 최신 공식 빌드의 이름을 지정했습니다.
 

처음에는 여러 모듈이 있었습니다. 모든 것이 잘 작동했습니다. 와 관련하여 ... 모든 것을 일시적으로 하나로 변환하기로 결정했습니다.
결과: 프로그램이 다르게 작동하기 시작했습니다.
알아낸 이유:

 #ifndef _WIN64 //добавлено
class A {
public :
        A() { Print ( a ); } //Результат: 0 //не может быть
         static const int a; //(1)
}; 
static A *a = new A;     //(2)
const int A::a = 1 ;     //(3)
void OnStart () {}
#endif

정확히 왜 그런 일련의 행이 나오는지 정확히 설정할 수 없었습니다(일반적으로 구현 \ 초기화는 선언 직후에 옴). 아마도 영향을받는 클래스의 상호 교차점

C++ 컴파일러가 어떻게 수행하는지 정확히 모르지만 결과: 1(예상대로)
 

오류, 정크 읽기.

   ulong l[] = { ULONG_MAX };
   ulong l2[ 1 ];
   {
       int file = FileOpen ( "ttt" , FILE_WRITE | FILE_BIN );
       FileWriteArray (file, l);
   }
   {
       int file = FileOpen ( "ttt" , FILE_READ | FILE_BIN );
       FileReadArray (file, l2);
   }
   Alert (l[ 0 ] == l2[ 0 ]);
   Alert (l[ 0 ], "   " , l2[ 0 ]);
   return ;

Alert:

거짓

18446744073709551615 10000000

파일에 있는 숫자의 16진수 이미지: FF FF FF FF FF FF FF FF

 
pavlick_ :

오류, 정크 읽기.

읽기가 아니라 배열 초기화 . 중괄호를 제거하십시오.

속도를 늦추겠습니다. 다시 확인하겠습니다.
 
Комбинатор :

읽기가 아니라 배열 초기화 . 중괄호를 제거하십시오.

그것들 없이는 전혀 컴파일되지 않습니다('l' - 유효하지 않은 배열 접근). 어쨌든 파일의 번호는 정확합니다.

 
FILE_SHARE_READ 플래그로 첫 번째 핸들을 닫거나 열어야 한다고 생각합니다.
 
Комбинатор :
FILE_SHARE_READ 플래그로 첫 번째 핸들을 닫거나 열어야 한다고 생각합니다.

관심을 가져 주셔서 감사합니다. 그리고 있습니다. 핸들을 닫았으니 이제 제대로 작동합니다. 스크립트에 오류가 있습니다. 지금까지 현지화하려고 합니다.