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

 

##의 첫 번째 숫자는 사용할 수 없습니다.

 #define MACRO( x, y )   x ##y
void OnStart ()
{
         int i = MACRO( 1 , 5 );
         Print ( i );
}
 

특정 조합에서 매크로 매개변수를 생략할 수 없습니다.

 #define MACRO1( x )             void x() { Print ( __FUNCTION__ ); }
#define MACRO2( prefix, function )      MACRO1( prefix ##function )
#define MACRO3(         function )      MACRO2(         h2, function )
#define MACRO4(         function )      MACRO2( /*опущен*/ , function )
//---
   void f1() { Print ( __FUNCTION__ ); }
MACRO3( f2 )          //нормально
MACRO4( f2 )          //Ошибка: argument expected for the function-like macro
//---
void OnStart ()
{
        MACRO( /*опущен*/ , f1 ); //нормально
        h2f2();
        f2();                   
}
 
Karputov Vladimir :
아니요. 파일이 표준 배포판에서 변경되지 않았으며 MQL5 Storage 를 사용하지 않았습니다. 사용자는 아마도 다른 "데이터 폴더"를 입력했을 것입니다. 적어도 이것이 지금까지 가장 실행 가능한 버전입니다.
컴퓨터를 검색했습니다. 파일이 여전히 죽었습니다(사용된 OS는 Windows Server 2012입니다. 파일은 "C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\Scripts" 폴더에서 수정되었습니다. ). 위의 동일한 이름을 가진 파일이 어떻게 덮어 쓰여졌는지 이해하지 못하지만 "C:\Program Files\MetaTrader 5\MQL5\Scripts" 폴더(최종 편집 날짜는 2014년 8월)에서 가져왔습니다. mq5, 컴파일된 파일이 최신 버전에 남아 있었고 MQL5 Storage 를 사용하지 않았으므로 이제 사용합니다.
 
kogriv :
컴퓨터를 검색했습니다. 파일이 여전히 죽었습니다(사용된 OS는 Windows Server 2012입니다. 파일은 "C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\Scripts" 폴더에서 수정되었습니다. ). 위의 동일한 이름을 가진 파일이 어떻게 덮어 쓰여졌는지 이해하지 못하지만 "C:\Program Files\MetaTrader 5\MQL5\Scripts" 폴더(최종 편집 날짜는 2014년 8월)에서 가져왔습니다. mq5, 컴파일된 파일이 최신 버전에 남아 있었고 MQL5 Storage 를 사용하지 않았으므로 이제 사용합니다.
귀하의 (사용자) 파일은 C:\Program Files\MetaTrader 5\MQL5\Scripts 폴더에 있어서는 안됩니다! 파일이 거기에 나타나면 MetaEditor의 작업에 대한 수동 개입 때문입니다. 파일 편집 및 생성에 대한 모든 작업은 데이터 폴더 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\...에서 이루어져야 합니다.
 
Karputov Vladimir :
당신의 (사용자) 파일은 C:\Program Files\MetaTrader 5\MQL5\Scripts 폴더에 있어서는 안됩니다! 파일이 거기에 나타나면 MetaEditor의 작업에 대한 수동 개입 때문입니다. 파일 편집 및 생성에 대한 모든 작업은 데이터 폴더 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\...에서 이루어져야 합니다.
왜 못해? 나는 그것을 먼저 거기에 복사했습니다(C:\Program Files\MetaTrader 5\MQL5\Scripts). 왜냐하면 서버에 파일을 놓는 것의 특징을 몰라서 알아내서 적당한 폴더에 복사해 놓았습니다. 이게 '업무방해..'가 아닌가 싶다.
 
kogriv :
왜 못해? 먼저 거기에 복사했습니다(C:\Program Files\MetaTrader 5\MQL5\Scripts). 왜냐하면 서버에 파일을 놓는 것의 특성에 대해 잘 몰랐는데, 그것을 알아내서 적당한 폴더에 복사했습니다. '업무방해'가 아닌가 싶다..
그게 다야 - 수동 개입. C:\Program Files\MetaTrader 5\MQL5\...의 모든 파일을 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\로 전송해야 합니다. \....
 
Karputov Vladimir :
그게 다야 - 수동 개입. C:\Program Files\MetaTrader 5\MQL5\...의 모든 파일을 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\로 전송해야 합니다. \....
자르지 않았다면? 하지만 넣어..
 
kogriv :
자르지 않았다면? 하지만 넣어..
이 경우 매싱 상황이 곧 돌아올 것입니다. 사용자에게는 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\...라는 데이터 폴더가 하나 있습니다. 다른 폴더에 파일을 쓰려면 스스로 위험을 감수해야 합니다. 결국, 그것은 당신의 돈입니다.
 
Karputov Vladimir :
이 경우 매싱 상황이 곧 돌아올 것입니다. 사용자에게는 C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\9A8888D580475F4165FB840CCD79A65C\MQL5\...라는 데이터 폴더가 하나 있습니다. 다른 폴더에 파일을 쓰려면 스스로 위험을 감수해야 합니다. 결국, 그것은 당신의 돈입니다.

/portable 키는 어떻습니까?

그런데 "sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqvb6547nw8nme789m" 폴더는 어떤 폴더인가요? 여러 터미널이 설치된 경우 어떤 폴더가 어떤 터미널에 속하는지 확인하는 것은 쉬운 일이 아닙니다. 물론 MT를 사용하여 입력할 수 있지만 다른 모든 경우에 - 쓰레기는 여전히 동일합니다. 그래서 /portable이 우리의 선택입니다.

 
Andrey Dik :

/portable 키는 어떻습니까?

그런데 "sdfgshndyueenerneb673756nr76,.t89.y80.tr76m5nbwb6qw6b3qvqvb6547nw8nme789m" 폴더는 어떤 폴더인가요? 여러 터미널이 설치된 경우 어떤 폴더가 어떤 터미널에 속하는지 확인하는 것은 쉬운 일이 아닙니다. 물론 MT를 사용하여 입력할 수 있지만 다른 모든 경우에 - 쓰레기는 여전히 동일합니다. 그래서 /portable이 우리의 선택입니다.

사용자는 이미 한 번 실험을 시작했습니다. 파일을 덮어썼습니다. 나는 그가 두 번째로 화상을 입을 것이라고 생각하지 않습니다.