MetaTrader 4 Build 529 베타가 새로운 컴파일러와 함께 출시됨 - 페이지 51

 
Barbarian :

다른 수업을 들어보셨나요? 그들도 작동하지 않습니까?

일부를 보았지만 전부는 아닙니다. 나는 필요에 따라 시도한다(나는 프로그램을 작성한다). 때로는 더 나은 시간이 될 때까지 플러그(작동하지 않는 곳에)를 둡니다.

나는 Canvas 클래스를 보았고 그래서 클래스 메소드는 MQL5의 함수를 사용합니다. 이것이 문제의 원인일 가능성이 큽니다. 예를 들어 방법?

아직 MQL4에서 구현되지 않은 MQL5의 TextSetFont 함수를 사용합니다. 도움말에 대한 설명이 이미 있지만. 아마도 구현하는 것을 잊었을 것입니다.

그건 그렇고, 개발자들은 편집기에서 구문 강조 측면에서 최선을 다했습니다. 잘했습니다. 클래스 메서드를 언어 함수와 구별하는 데 많은 도움이 됩니다.

나는 그것을 알고 있다. 예를 들어 TextSetFont() 를 포함하여 5-6 빌드 전에 이미 모든 것이 작동했으며 이 코드는 매우 잘 작동했습니다.

    Label = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();

그냥 나중에 껐습니다 // 잘하면 일시적으로 :)

작동할 때 사양에 따라 작동했습니다.

 
MetaDriver :
일부를 보았지만 전부는 아닙니다. 나는 필요에 따라 시도한다(나는 프로그램을 작성한다). 때로는 더 나은 시간이 될 때까지 플러그(작동하지 않는 곳에)를 둡니다.

나는 그것을 알고 있다. 예를 들어 TextSetFont() 를 포함하여 5-6 빌드 전에 이미 모든 것이 작동했으며 이 코드는 매우 잘 작동했습니다.

그냥 나중에 껐습니다 // 잘하면 일시적으로 :)

작동할 때 사양에 따라 작동했습니다.

그러면 매우 이상합니다. 기능 확장을 위해 처음부터 활성화된 경우 비활성화하는 것이 좋습니다. 일반적으로 변경 사항 및 버그 수정 목록이 포함된 업데이트된 빌드를 받는 것이 좋습니다. 그러면 새로운 MT4를 연구하기 위한 크롤링이 줄어들 것입니다.

그건 그렇고, 당신은 실수를했습니다. new 연산자는 C++에서처럼 할당된 메모리에 대한 포인터를 반환하지 않습니다. 다음과 같이 하십시오.

    CCanvas Label; // = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();

또는 다음과 같이:

    CCanvas* Label = new CCanvas();      
    Label.CreateBitmapLabel( "MyLabel" , 150 , 150 , 250 , 150 , //COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle( 5 , 5 , 220 , 120 ,ColorToARGB(BkColor, 220 ));
     //0xffbbbb66);
     if (!Label.FontSet( "Comic Sans MS" , 28 ,FW_BOLD)) Print ( GetLastError ());
    Label.TextOut( 15 , 5 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
     if (!Label.FontSet( "Comic Sans MS" , 32 ,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,- 100 )) Print ( GetLastError ());
    Label.TextOut( 15 , 35 , "Превед Label" ,ColorToARGB( 0x004400 , 255 ));
    Label.Update();
    
     delete Label;

모든 것이 작동합니다. 이 주제에 대해 https://www.mql5.com/en/docs/basis/types/object_pointers 를 읽으십시오. 나는 또한 처음에 C++를 잊어버렸습니다.

 
artmedia70 :


커뮤니티 탭의 설정에서 내 닉네임과 비밀번호를 입력합니다. Editor의 네비게이터에서 필요한 파일을 선택하고 컨텍스트 메뉴에서 MQL5 Storage --> Add를 선택하면 네비게이터의 파일 이름이 파란색 "+"로 표시됩니다. 추가된 것 같습니다. 이전에 추가되었지만 나중에 변경된 파일도 "!"로 표시됩니다. 빨간색 원 안에. 차이점이 있는 것 같습니다. 그러나 저장소 자체에서 추가된 파일을 찾을 수 없습니다.

뭐가 문제 야?


예, 100%라는 사실이 아니라(저장소) 작동하지만(버전 저장에 대해 아직 파악하지 못했을 수 있음) 작동합니다.

줄임표를 클릭하기만 하면 됩니다. - 저에게 이것은 2개의 폴더( 프로젝트 및 개인)가 있는 초기 폴더입니다.

 
ALXIMIKS :


예, 100%라는 사실이 아니라(저장소) 작동하지만(버전 저장에 대해 아직 파악하지 못했을 수 있음) 작동합니다.

줄임표를 클릭하기만 하면 됩니다 ... - 저에게는 2개의 폴더(프로젝트 및 개인)가 있는 초기 폴더입니다.

물론 그는 눌렀다. 이전 레벨로 이동합니다.
 
artmedia70 :
물론 그는 눌렀다. 이전 레벨로 이동합니다.


추가한 파일에 확인 표시가 있는 녹색 원이 있습니까?

먼저 MQL Storeg ==> add를 통해 추가한 다음 RMB ==> 수정을 통해 수정할 파일 또는 폴더를 클릭해야 합니다.

 
ALXIMIKS :


추가한 파일에 확인 표시가 있는 녹색 원이 있습니까?

먼저 MQL Storeg ==> add를 통해 추가한 다음 RMB ==> 수정을 통해 수정할 파일 또는 폴더를 클릭해야 합니다.

감사합니다. 그렇게 하지 않았다.
 
ALXIMIKS :


추가한 파일에 확인 표시가 있는 녹색 원이 있습니까?

먼저 MQL Storeg ==> add를 통해 추가한 다음 RMB ==> 수정을 통해 수정할 파일 또는 폴더를 클릭해야 합니다.

정확히, 당신이 맞습니다. 도움이 되었습니다 ;)
 
Barbarian :

그건 그렇고, 개발자들은 편집기에서 구문 강조 측면에서 최선을 다했습니다. 잘했습니다.

네, 색 구성표가 정말 마음에 듭니다. 스튜디오에서도 똑같이 원해요 :-)
 
Barbarian :

그러면 매우 이상합니다. 기능 확장을 위해 처음부터 활성화된 경우 비활성화하는 것이 좋습니다.

차트의 코드가 급진적인 개혁을 거치면 의미가 있습니다. 그리고 이것은 아마도 사실일 것입니다(많은 새로운 기능이 출시되어야 하기 때문에).


일반적으로 변경 사항 및 버그 수정 목록이 포함된 업데이트된 빌드를 받는 것이 좋습니다. 그러면 새로운 MT4를 연구하기 위한 크롤링이 줄어들 것입니다.

사실이야 이상적으로. 실제로 리소스 집약적입니다. 다른 사람들 이 다른 모듈에서 작업하는 조건에서 모든 변경 사항을 하나의 목록에 수집합니다. ..

그건 그렇고, 당신은 실수를했습니다. new 연산자는 C++에서처럼 할당된 메모리에 대한 포인터를 반환하지 않습니다. 다음과 같이 하십시오.

아니요, 거기에는 오류가 없습니다. 포인터는 위의 코드에서 선언되었습니다(나는 단편만 보냈습니다). 도와주셔서 감사합니다.
 
MetaDriver :
차트의 코드가 급진적인 개혁을 거치면 의미가 있습니다. 그리고 이것은 아마도 사실일 것입니다(많은 새로운 기능이 출시되어야 하기 때문에).

사실이야 이상적으로. 실제로 리소스 집약적입니다. 다른 사람들이 다른 모듈에서 작업하는 상황에서... 모든 변경 사항을 하나의 목록에 수집합니다.

아니요, 거기에는 오류가 없습니다. 포인터는 위의 코드에서 선언되었습니다(나는 단편만 보냈습니다). 도와주셔서 감사합니다.

포인터가 위의 코드에서 선언되었다는 사실은 완전히는 아니지만 이해할 수 있습니다. 일반적으로 수정하여 코드를 시작했으며 두 옵션 모두 작동합니다. 그건 그렇고, 나는 C ++와 달리 new 연산자의 작업을 변경할 때 개발자가 무엇을 안내하는지 여전히 이해하지 못했습니다. 나는 메모리의 주소에 대한 포인터와 관련하여 핸들에 대한 포인터보다 나은 것이 무엇인지 이해하지 못합니다.