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

 
mktr8591 # :

친애하는 개발자 여러분! 과부하(T* const Ptr)가 두 번째 및 세 번째 호출에서 수행되고(T* & Ptr) 수행되지 않는 이유는 무엇입니까?

이것은 버그입니까, 아니면 기능입니까? b3213.


의도적으로 캐스트 작업의 결과는 참조로 전달할 수 없습니다.

 

한 번 무료 제품을 다운로드하는 것이 부적절했습니다.
그리고 이미 업데이트에 대한 알림을 받기 위해 고문을 받았습니다. 그리고 구독을 취소할 방법이 없습니다.


하지만 또 다른 농담은 링크를 따라갈 때 다음과 같은 내용이 표시된다는 것입니다.


그 제품은 그냥 무료였는데 지금은 유료가 된 걸로 압니다. 하지만 여기 있습니다.
이 혼란을 막을 방법이 있습니까?

 

안녕하세요!

좀 이상해...

코드

 //+------------------------------------------------------------------+
//|                                               SpotPipeServer.mq5 |
//|                                     Copyright 2022, prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, prostotrader"
#property link        " https://www.mql5.com "
#property version    "1.00"
//---
#include "cnamedpipes.mqh"
//---
CNamedPipe Pipe;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
{
   Print ( "Start server..." );
 /* if(PositionSelect(Symbol()) == true)
  {
    Pipe.out_data.spot_pos_type = PositionGetInteger(POSITION_TYPE);
    Pipe.out_data.spot_pos_vol = long(PositionGetDouble(POSITION_VOLUME));
  }
  else
  {
    Pipe.out_data.spot_pos_type = 0;
    Pipe.out_data.spot_pos_vol = 0;
  }*/
   bool is_server = Pipe.Create( Symbol ());
   if (is_server == false )
  {
     Print ( "Pipe not created!" );
     return ( INIT_FAILED );
  }   
  Pipe.is_connect = Pipe.Connect();
   if (Pipe.is_connect == false )
  {
     Print ( "Client not connected!" );
     return ( INIT_FAILED );
  }
   else
  {
     Print ( "Client connected." );
     if (Pipe.ReadData() == false )
    {
       Print ( "Initial command not resived!" );
       return ( INIT_FAILED );
    }
     else
    {
       switch (Pipe.in_data.pipe_com)
      {
         case C_ACCAUNT:
          Pipe.out_data.pipe_com = C_DONE;
          Pipe.out_data.ballance = AccountInfoDouble ( ACCOUNT_BALANCE );
          Pipe.out_data.free_margine = AccountInfoDouble ( ACCOUNT_MARGIN_FREE );
           if ( PositionSelect ( Symbol ()) == true )
          {
            Pipe.out_data.spot_pos_type = PositionGetInteger ( POSITION_TYPE );
            Pipe.out_data.spot_pos_vol = long ( PositionGetDouble ( POSITION_VOLUME ));
          }
           else
          {
            Pipe.out_data.spot_pos_type = 0 ;
            Pipe.out_data.spot_pos_vol = 0 ;
          }
           if (Pipe.WriteData(Pipe.out_data) == false )
          {
             Print ( "Start data not send!" );
          }
           else Print ( "Initialization server done." );
         break ; 
      }
    }
  } 
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   if (Pipe.is_connect = true )
  {
    Pipe.Disconnect();
    Pipe.Flush();
  }    
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

주석(18~28행)이 있으면 프로그램이 충돌합니다.

 2022.03 . 03 19 : 17 : 38.135 SpotPipeServer (GAZP,M1)        Start server...
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)        Access violation at 0x000007FEFCCA6A99 read to 0xFFFFFFFFFFFFFFFF
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)           crash -->   000007 FEFCCA6A99 488 B4808          mov        rcx, [rax+ 0x8 ]
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6A9D 48898 C24A8000000  mov        [rsp+ 0xa8 ], rcx
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6AA5 44397010           cmp        [rax+ 0x10 ], r14d
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6AA9 0 F85D8F30000      jnz        dword 0x7fefccb5e87
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)        
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6AAF 4885 C9            test       rcx, rcx
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6AB2 0 F84DFF30000      jz         dword 0x7fefccb5e97
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)        
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)                       000007 FEFCCA6AB8 0 FBAE31F          bt         ebx, 0x1f
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)        
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         00 : 0x000007FEFCCA6A99
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         01 : 0x0000000000590B40
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         02 : 0x0000000014ACE4C0
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         03 : 0x0000000140DBD000
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         04 : 0x0000000000590183
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         05 : 0x0000000014ACE4C0
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)         06 : 0x000000000059021F
2022.03 . 03 19 : 17 : 38.301 SpotPipeServer (GAZP,M1)        

주석을 제거하면 모든 것이 잘 작동합니다.

파이프는 kernel32.dll을 사용하여 생성됩니다.

2022.03.03 19:15:04.363 단말기 Windows 7 서비스 팩 1 빌드 7601, 12 x Intel Core i7-6850K @ 3.60GHz, 25/31Gb 메모리, 85/238Gb 디스크, 관리자, GMT+3


왜요?

추가됨

빌드 3211

 

안녕하세요, 개발자 여러분. 무엇이 문제일 수 있는지 말씀해 주십시오. 다른 브로커에 대해 PUSH 알림이 작동을 멈췄습니다. (즉, DC가 아닌 브로커)

오류 알림 제공 요청 보내기 실패(연결 실패)

그리고 이전에는 문제없이 작동했으며 아무 것도 변경하지 않았으며 설정은 동일합니다. 스마트폰에 재설치를 시도했지만 소용이 없었습니다.

스마트폰 메이즈 노트9

운영 체제 WIN10

일주일 전에 일을 그만뒀다. 어느 방향으로 선택해야 하는지 알려주세요.

 
Evgenii Akselrod # :

안녕하세요, 개발자 여러분. 무엇이 문제일 수 있는지 말씀해 주십시오. 다른 브로커에 대해 PUSH 알림이 작동을 멈췄습니다. (즉, DC가 아닌 브로커)

오류 알림 제공 요청 보내기 실패(연결 실패)

그리고 이전에는 문제없이 작동했으며 아무 것도 변경하지 않았으며 설정은 동일합니다. 스마트폰에 재설치를 시도했지만 소용이 없었습니다.

스마트폰 메이즈 노트9

운영 체제 WIN10

딱 일주일 전에 일을 그만뒀다. 어느 방향으로 선택해야 하는지 알려주세요.

귀하의 메시지를 읽은 후 나는 Google이 금지했다고 생각했습니다(이것이 그들의 기능입니다). 집에서 확인했습니다. 제대로 쟁기질합니다.

PUSH는 브로커/DC와 독립적입니다.

추신 안드로이드 11에서 시도

 

번역가가 포럼 및 모든 제품의 토론 탭에서 작업을 중단했습니다. 클릭하여

번역 대신 다음을 얻습니다.


 
Andrey Dik # :

귀하의 메시지를 읽은 후 Google이 금지했다고 생각했습니다(이것은 그들의 속임수입니다). 집에서 확인했습니다. 제대로 쟁기질합니다.

PUSH는 브로커/DC와 독립적입니다.

추신 안드로이드 11에서 시도

Andrey, 내 문제에 대한 더 자세한 분석을 위해 PM에게 가도 될까요? :)

 
Evgenii Akselrod # :

Andrey, 내 문제에 대한 더 자세한 분석을 위해 PM에게 가도 될까요? :)

물론 할 수 있지만 여기에 문제에 대한 추가 정보를 제공하면 개발자가 더 기꺼이 응답할 것입니다.

 
Andrey Dik # :

물론 할 수 있지만 여기에 문제에 대한 추가 정보를 제공하면 개발자가 더 기꺼이 응답할 것입니다.

어쩐지 사적인 편지를 못쓰는데..... 혹시 내가 친구가 아니라서?

 
Stanislau Siatsko # :

번역가가 포럼 및 모든 제품의 토론 탭에서 작업을 중단했습니다. 클릭하여

번역 대신 다음을 얻습니다.


예, 확인합니다. 며칠 동안 작동하지 않았습니다.