내 접근 방식. 코어 - 엔진. - 페이지 94 1...87888990919293949596979899100101...184 새 코멘트 khorosh 2018.12.19 19:28 #931 Vitaly Muzichenko : 훌륭한 독백.) 햄릿이 쉬고 있다.) Nikolai Semko 2018.12.19 23:40 #932 Реter Konow : 글쎄, 무슨 일이야? 실수 - ERR_RESOURCE_NOT_FOUND https://www.mql5.com/ru/docs/runtime/resources 도움말 읽기. 인용문: Напомним, что для использования ресурса из mql5-программы его необходимо указывать в виде: < путь_имя_файла_EX5> :: < имя_ресурса> . Реter Konow 2018.12.20 06:41 #933 Nikolai Semko : https://www.mql5.com/ru/docs/runtime/resources 도움말 읽기. 인용문: 네. 이해했다. 잘못 연결되었습니다. Реter Konow 2018.12.20 07:20 #934 Реter Konow : 생각을 해봤는데. 다른 프로그램의 리소스를 사용하는 방법이 있습니다. 아마도 해결책이 거기에 있을 것입니다. 지금 바로 문서를 살펴보겠습니다. 리소스를 잘못 연결했습니다. 읽을 리소스가 있는 프로그램의 경로를 지정해야 합니다. init 리더 프로그램에서 다른 프로그램의 리소스 파일에 대한 연결을 설정해야 합니다. if (! ObjectSetString ( 0 , "Resource" , OBJPROP_BMPFILE , "\\Experts\\Tester EA.ex4::Resource" )) Print ( "Resource is not connected!" ); 리소스를 읽을 때 전체 경로도 지정합니다. if (! ResourceReadImage ( "\\Experts\\Tester EA.ex4::Resource" ,Data,width,height)) Print ( "Failed to read resource! " , GetLastError ()); //------------------------------------------------ ------ 그러나 새로운 난센스가 생겼습니다. 리소스를 읽을 때 버그가 줄에 나타납니다. 코드는 다음과 같습니다. void OnTimer () { //--- uchar Arr[]; uint Data[],width,height; //----------------------------- if (! ResourceReadImage ( "\\Experts\\Tester EA.ex4::Resource" ,Data,width,height)) Print ( "Failed to read resource! " , GetLastError ()); //----------------------------- ArrayCopy (Arr,Data); //----------------------------- string Message = CharArrayToString (Arr); //----------------------------- Print (Message); } 그리고 가장 이상한 점은 차트에서 리소스가 포함된 Expert Advisor를 제거하면 읽기 프로그램이 이 리소스를 계속 수신한다는 것입니다. 그리고이 자원에는 동일한 krakozyabry와 모든 종류의 쓰레기가 있습니다. 또한 쓰레기는 항상 다릅니다. 그리고 어떻게 대처해야 할까요? 추신. CharArrayToString() 에서 다른 페이지 인코딩을 지정하려고 합니다. Реter Konow 2018.12.20 07:35 #935 흥미롭게도 krakozyabr 문자열의 크기는 메시지 가 있는 배열의 크기와 일치합니다. 그러나 krakozyabr 스트림에서 거의 정확한 Bid 값이 때때로 깜박이며 두 번째 면에 기록됩니다. 그들은 한 번 깜박이고 그 안에 1-2 개의 krakozyabry도 있습니다. 그러나 그들은 읽을 수 있습니다. 그리고 다시, krakozyabr의 흐름. 발신자 측의 리소스를 채우는 경우 모든 것이 올바르게 수행되는 것으로 나타났습니다. 그런 다음 판독기 측에서는 메모리에서 손상되고 폐기된 리소스를 받습니다. 독자가 리소스의 메시지를 더 빨리 읽을수록 메시지는 더 유용합니다. 즉, 읽기/쓰기의 정확한 동기화가 필요합니까? 추신. 친애하는 fxsaber, 여기서 무엇이 잘못되었는지 설명해 주시겠습니까? 첨부 파일: 파일: Tester_EA.mq4 3 kb Resource_reader.mq4 3 kb [ARCHIVE] 포럼을 어지럽히 지 지표를 무료로 작성해 드립니다 [아카이브]돈 버는 법을 배워라![아카이브] fxsaber 2018.12.20 07:45 #936 Реter Konow : 추신. 친애하는 fxsaber, 여기서 무엇이 잘못되었는지 설명해 주시겠습니까? 여기에서 많은 사람들이 귀하의 실수를 즉시 확인하지만 침묵을 선호하기 때문입니다. 충만한. 그리고 나는 그들을 아주 잘 이해합니다. 나중에 답장을 드리지 않는다는 점 미리 말씀드립니다. 스스로 실수를 찾는 법을 배우고 주변 사람들의 태도를 올바르게 구축하십시오. 코드로. ArrayCopy를 통해 uint를 uchar로 복사하는 것은 오류입니다. CharArrayToString - 문자열이 ANSI인 경우 작동합니다. 유형의 바이트 표현의 특성을 이해합니다. Реter Konow 2018.12.20 07:50 #937 fxsaber : 여기에서 많은 사람들이 당신의 실수를 즉시 확인하지만 침묵을 선호하기 때문입니다. 충만한. 그리고 나는 그들을 아주 잘 이해합니다. 나중에 답장을 드리지 않는다는 점 미리 말씀드립니다. 스스로 실수를 찾는 법을 배우고 주변 사람들의 태도를 올바르게 구축하십시오. 코드로. ArrayCopy를 통해 uint를 uchar로 복사하는 것은 오류입니다. CharArrayToString - 문자열이 ANSI인 경우 작동합니다. 유형의 바이트 표현의 특성을 이해합니다. 다른 사람들이 내 결정을 존중할 때 나도 그들의 결정을 존중합니다. 글쎄, 그렇지 않으면. 상호 존중. 코드로. 고맙습니다. 나는 그것을 알아 내려고 노력할 것입니다. Реter Konow 2018.12.20 13:51 #938 젠장, 난 지쳤어. 이 결정에 반나절이 낭비되었습니다. 이미 그리고 노동 조합에서 이해했습니다. 그러나 이 솔루션은 큐브의 목발입니다. 여전히 바이트 작업이 필요합니다. 그리고 내 작업에는 일반적으로 관련이 없습니다. 개체에 대한 설명을 통해 훨씬 쉽게 작업할 수 있습니다. 보장되고 간편합니다. 그리고 리소스가 테스터를 통해 작동할지 여부는 알 수 없습니다. 게임은 촛불 가치가 없습니다 ... 다음은 유니온을 통한 솔루션입니다. //+------------------------------------------------------------------+ //| Tester EA.mq4 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ union Char_Uint { uchar Char[ 8 ]; uint Uint[ 2 ]; double Double; }; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //---------------------------------------------- if (! ObjectCreate ( 0 , "Resource" , OBJ_BITMAP_LABEL , 0 , 0 , 0 )) Print ( "Object is not created! " , GetLastError ()); else Print ( "Object created!" ); //------------------------------- if (! ObjectSetString ( 0 , "Resource" , OBJPROP_BMPFILE , "::Resource" )) Print ( "BMPFILE is not created!" ); else Print ( "BMPFILE created!" ); //---------------------------------------------- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- destroy timer } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { //--------------------------- Char_Uint u; //--------------------------- u.Double = Bid ; //--------------------------- if (! ResourceCreate ( "::Resource" ,u.Uint, 2 , 1 , 0 , 0 , 0 , COLOR_FORMAT_XRGB_NOALPHA )) Print ( "Resource is not created!" ); //--------------------------- } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer () { //--- } //+------------------------------------------------------------------+ 그리고 읽기 표시기: //+------------------------------------------------------------------+ //| Resource reader.mq4 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ union Char_Uint { uchar Char[ 8 ]; uint Uint[ 2 ]; }; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- indicator buffers mapping EventSetMillisecondTimer ( 5250 ); if (! ObjectSetString ( 0 , "Resource" , OBJPROP_BMPFILE , "\\Experts\\Tester EA.ex4::Resource" )) Print ( "Resource is not connected!" ); else Print ( "Resource connected!" ); //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return (rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer () { //--- Char_Uint u; uint width,height; string Message; //----------------------------- if (! ResourceReadImage ( "\\Experts\\Tester EA.ex4::Resource" ,u.Uint,width,height)) Print ( "Failed to read resource! " , GetLastError ()); //----------------------------- Message = CharArrayToString (u.Char); //----------------------------- Print (Message); //----------------------------- } //+------------------------------------------------------------------+ Реter Konow 2018.12.20 13:54 #939 항상 krakozyabry를 올라갑니다. 그리고 항상 다릅니다. 리소스에 쓰레기가 있음을 의미합니다. 내용이 변경되지 않은 경우 krakozyabry는 변경되지 않습니다. 일반적으로 이 모든 것이 어떻게 작동해야 하는지는 분명하지 않습니다 ... 나중에 해결책을 찾을 수 있을지도... Реter Konow 2018.12.20 14:29 #940 노조는 물론 흥미로운 일입니다. 그러나 이것이 유용할 수 있는 작업(리소스에 저장하는 것 외)에 대해서는 생각하지 않습니다. 1...87888990919293949596979899100101...184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
훌륭한 독백.)
햄릿이 쉬고 있다.)
글쎄, 무슨 일이야?
실수 -
ERR_RESOURCE_NOT_FOUND
https://www.mql5.com/ru/docs/runtime/resources
도움말 읽기.
인용문:
https://www.mql5.com/ru/docs/runtime/resources
도움말 읽기.
인용문:
네. 이해했다. 잘못 연결되었습니다.
생각을 해봤는데. 다른 프로그램의 리소스를 사용하는 방법이 있습니다. 아마도 해결책이 거기에 있을 것입니다. 지금 바로 문서를 살펴보겠습니다.
리소스를 잘못 연결했습니다.
읽을 리소스가 있는 프로그램의 경로를 지정해야 합니다.
init 리더 프로그램에서 다른 프로그램의 리소스 파일에 대한 연결을 설정해야 합니다.
리소스를 읽을 때 전체 경로도 지정합니다.
//------------------------------------------------ ------
그러나 새로운 난센스가 생겼습니다.
리소스를 읽을 때 버그가 줄에 나타납니다. 코드는 다음과 같습니다.
그리고 가장 이상한 점은 차트에서 리소스가 포함된 Expert Advisor를 제거하면 읽기 프로그램이 이 리소스를 계속 수신한다는 것입니다. 그리고이 자원에는 동일한 krakozyabry와 모든 종류의 쓰레기가 있습니다. 또한 쓰레기는 항상 다릅니다.
그리고 어떻게 대처해야 할까요?
추신. CharArrayToString() 에서 다른 페이지 인코딩을 지정하려고 합니다.
흥미롭게도 krakozyabr 문자열의 크기는 메시지 가 있는 배열의 크기와 일치합니다.
그러나 krakozyabr 스트림에서 거의 정확한 Bid 값이 때때로 깜박이며 두 번째 면에 기록됩니다. 그들은 한 번 깜박이고 그 안에 1-2 개의 krakozyabry도 있습니다. 그러나 그들은 읽을 수 있습니다. 그리고 다시, krakozyabr의 흐름.
발신자 측의 리소스를 채우는 경우 모든 것이 올바르게 수행되는 것으로 나타났습니다. 그런 다음 판독기 측에서는 메모리에서 손상되고 폐기된 리소스를 받습니다. 독자가 리소스의 메시지를 더 빨리 읽을수록 메시지는 더 유용합니다.
즉, 읽기/쓰기의 정확한 동기화가 필요합니까?
추신. 친애하는 fxsaber, 여기서 무엇이 잘못되었는지 설명해 주시겠습니까?
첨부 파일:
추신. 친애하는 fxsaber, 여기서 무엇이 잘못되었는지 설명해 주시겠습니까?
여기에서 많은 사람들이 귀하의 실수를 즉시 확인하지만 침묵을 선호하기 때문입니다. 충만한. 그리고 나는 그들을 아주 잘 이해합니다. 나중에 답장을 드리지 않는다는 점 미리 말씀드립니다. 스스로 실수를 찾는 법을 배우고 주변 사람들의 태도를 올바르게 구축하십시오.
코드로.
ArrayCopy를 통해 uint를 uchar로 복사하는 것은 오류입니다.
CharArrayToString - 문자열이 ANSI인 경우 작동합니다.
유형의 바이트 표현의 특성을 이해합니다.
여기에서 많은 사람들이 당신의 실수를 즉시 확인하지만 침묵을 선호하기 때문입니다. 충만한. 그리고 나는 그들을 아주 잘 이해합니다. 나중에 답장을 드리지 않는다는 점 미리 말씀드립니다. 스스로 실수를 찾는 법을 배우고 주변 사람들의 태도를 올바르게 구축하십시오.
코드로.
ArrayCopy를 통해 uint를 uchar로 복사하는 것은 오류입니다.
CharArrayToString - 문자열이 ANSI인 경우 작동합니다.
유형의 바이트 표현의 특성을 이해합니다.
다른 사람들이 내 결정을 존중할 때 나도 그들의 결정을 존중합니다. 글쎄, 그렇지 않으면. 상호 존중.
코드로. 고맙습니다. 나는 그것을 알아 내려고 노력할 것입니다.
젠장, 난 지쳤어. 이 결정에 반나절이 낭비되었습니다.
이미 그리고 노동 조합에서 이해했습니다. 그러나 이 솔루션은 큐브의 목발입니다. 여전히 바이트 작업이 필요합니다. 그리고 내 작업에는 일반적으로 관련이 없습니다.
개체에 대한 설명을 통해 훨씬 쉽게 작업할 수 있습니다. 보장되고 간편합니다. 그리고 리소스가 테스터를 통해 작동할지 여부는 알 수 없습니다. 게임은 촛불 가치가 없습니다 ...
다음은 유니온을 통한 솔루션입니다.
그리고 읽기 표시기:
항상 krakozyabry를 올라갑니다. 그리고 항상 다릅니다. 리소스에 쓰레기가 있음을 의미합니다. 내용이 변경되지 않은 경우 krakozyabry는 변경되지 않습니다.
일반적으로 이 모든 것이 어떻게 작동해야 하는지는 분명하지 않습니다 ...
나중에 해결책을 찾을 수 있을지도...
노조는 물론 흥미로운 일입니다. 그러나 이것이 유용할 수 있는 작업(리소스에 저장하는 것 외)에 대해서는 생각하지 않습니다.