라이브러리: DLL 없는 파일 매핑 - 페이지 7 123456789101112 새 코멘트 Al_key 2016.02.19 09:14 #61 o_O:lib는 섹션에 바인딩되지 않습니다. 이론적으로 코드가 다른 프로세스에서 실행될 수 있기 때문입니다.이를 제어하려면 변형 또는 https://www.mql5.com/ko/code/1835 을 사용하세요. 뮤텍스의 이름을 지정하면 메타트레이더뿐만 아니라 모든 프로세스에서 해당 핸들을 가져올 수 있다는 것을 올바르게 이해했나요? Al_key 2016.02.19 09:25 #62 Al_key: 뮤텍스의 이름을 지정하면 메타트레이더뿐만 아니라 모든 프로세스에서 핸들을 가져올 수 있다는 것을 올바르게 이해했나요?https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686931%28v=vs.85%29.aspx 제가 직접 답을 찾았습니다. 실제로 프로세스 간에 공유할 수 있습니다. Dmitry Luck'janenko 2016.03.04 07:35 #63 작성자에게 질문합니다.저는 MT4에서 수업을 사용합니다. 터미널을 껐다가 켜면 모든 것이 작동을 멈춥니다. 전원을 끄기 전에 전문가 조언자를 삭제하고 터미널을 켠 후에 첨부하는 방법은 그리 편리하지 않습니다. 이 문제를 피할 수 있는 방법이 있나요?그리고 두 번째. 델파이로 작성된 프로그램에서 만든 파일 매핑을 읽을 수 없습니다. 뉘앙스는 무엇일까요?간단히 말해서, 이들은 많은 터미널에서 작동하는 거래 패널입니다. --- 2016.03.04 08:11 #64 Dmitry Luck'janenko:단말기를 껐다가 켜면 모든 것이 작동을 멈춥니다. 전원을 끄기 전에 EA를 삭제하고 단말기를 켠 후 다시 부착하는 방법은 그리 편리하지 않습니다. 이 문제를 해결할 수 있는 방법이 있나요?이러한 초기화 중에 파일에 어떤 일이 발생하는지 로깅하고 확인해야 합니다. 잠금이 없습니다.파일 매핑을 읽을 수 없습니다. winapi에서 "읽기"는 어떤 기능을 의미하나요? Dmitry Luck'janenko 2016.03.04 08:47 #65 o_O:이러한 초기화 중에 파일에 어떤 일이 발생하는지 기록하고 확인해야 합니다. 잠금이 없습니다.winapi에서 "읽기"는 어떤 기능을 의미하나요? 문제는 함수 HANDLE64 CMemMapFile::Open(LPTSTR path, DWORD size, int mode=modeOpen)함수는 항상 0을 반환합니다.그래서 파일이 열려 있는지 알 수 없습니다.위 그림은 아직 생성되지 않은 파일 매핑을 여는 Expert Advisor의 로그입니다. 그리고 오류는 없습니다.아마도 함수 CMemMapFile::Open함수를 OnInit()이 아닌 다른 곳, 예를 들어 OnTick()에 삽입해야 하지만 반환되는 핸들이 항상 0이기 때문에 틱할 때마다 파일이 계속 열리지 않도록 확인할 수 있는 방법이 없습니다.그리고 두 번째 질문입니다.델파이에서 파일 매핑을 생성하는 애플리케이션을 만듭니다. 연결할 때 오류가 발생합니다. 즉 숫자가 올바르게 전달되지 않았습니다. 나는 {$ 정렬 끄기}로 정렬을 시작했습니다.'msvcrt.dll'에서 0x04E91000으로 읽은 액세스 위반과 같은 다른 오류가 발생했습니다. 이제 데이터가 19바이트씩 정상적으로 정렬됩니다 - "00:35:50.260 Panel v 1.00 GBPUSD.m,M5: OnInitsizeof(PipeData)= 19".하지만 읽을 때는 모든 데이터가 0입니다. Libraries: File Mapping without 변동성 품질 지수 아스트로... --- 2016.03.04 09:32 #66 Dmitry Luck'janenko:문제는 함수 함수는 항상 0을 반환한다는 것입니다.그래서 파일이 열려 있는지 알 수 없습니다.맞습니다, CMemMapFile::Open은 오류 코드를 반환하거나 오류가 없으면 0을 반환합니다.(열린 핸들을 반환하고 전달된 매개 변수에 오류를 기록하는 CMemMapApi: 와 달리).그리고 핸들은 m_hmem에 있습니다.델파이에서 파일 매핑을 생성하는 애플리케이션을 만듭니다. 연결할 때 오류가 발생합니다. 즉 숫자가 올바르게 전달되지 않았습니다. 파일 시작 부분에 예약 된 DWORD 바이트를 고려합니까? Dmitry Luck'janenko 2016.03.04 09:43 #67 o_O: 파일 시작 부분에 예약된 DWORD 바이트를 고려하나요? 4 바이트? 시도해 볼게요, 안 했어요. --- 2016.03.04 09:53 #68 Dmitry Luck'janenko: 4바이트? 제가 세어볼게요, 세어보지 않았어요.소스에서 파일이 어떻게 쓰여지거나 생성되는지 살펴보세요.m_size 매개변수에서 Dmitry Luck'janenko 2016.03.04 18:05 #69 o_O:가 맞으면 CMemMapFile::Open은 오류 코드를 반환하고, 오류가 없으면 0을 반환합니다.(열린 핸들을 반환하고 전달된 매개변수에 오류를 기록하는 CMemMapApi: 와 달리).그리고 핸들은 m_hmem에 있습니다. 파일 시작 부분에 예약된 DWORD 바이트를 고려하나요? 2016.03.04 19:00:00.897 BuyNow 클라이언트 v 1.03 USDCHF.m,M5: BuyNow 클라이언트 v 1.03.mq4, handle=8589934592은 존재하지 않는 파일 매핑을 열 때 m_hmem입니다. 이것이 오류인지 핸들인지 어떻게 확인하나요? --- 2016.03.04 18:07 #70 Dmitry Luck'janenko:은 존재하지 않는 파일 매핑을 열 때 m_hmem입니다. 오류인지 핸들인지 확인하는 방법은 무엇인가요? CMemMapFile::Open은 오류 코드 또는 오류가 없는 경우 0을 반환한다고 썼습니다. 123456789101112 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
lib는 섹션에 바인딩되지 않습니다. 이론적으로 코드가 다른 프로세스에서 실행될 수 있기 때문입니다.
이를 제어하려면 변형 또는 https://www.mql5.com/ko/code/1835 을 사용하세요.
뮤텍스의 이름을 지정하면 메타트레이더뿐만 아니라 모든 프로세스에서 핸들을 가져올 수 있다는 것을 올바르게 이해했나요?
작성자에게 질문합니다.
저는 MT4에서 수업을 사용합니다. 터미널을 껐다가 켜면 모든 것이 작동을 멈춥니다. 전원을 끄기 전에 전문가 조언자를 삭제하고 터미널을 켠 후에 첨부하는 방법은 그리 편리하지 않습니다. 이 문제를 피할 수 있는 방법이 있나요?
그리고 두 번째. 델파이로 작성된 프로그램에서 만든 파일 매핑을 읽을 수 없습니다. 뉘앙스는 무엇일까요?
간단히 말해서, 이들은 많은 터미널에서 작동하는 거래 패널입니다.
단말기를 껐다가 켜면 모든 것이 작동을 멈춥니다. 전원을 끄기 전에 EA를 삭제하고 단말기를 켠 후 다시 부착하는 방법은 그리 편리하지 않습니다. 이 문제를 해결할 수 있는 방법이 있나요?
이러한 초기화 중에 파일에 어떤 일이 발생하는지 로깅하고 확인해야 합니다. 잠금이 없습니다.
파일 매핑을 읽을 수 없습니다.
winapi에서 "읽기"는 어떤 기능을 의미하나요?
이러한 초기화 중에 파일에 어떤 일이 발생하는지 기록하고 확인해야 합니다. 잠금이 없습니다.
winapi에서 "읽기"는 어떤 기능을 의미하나요?
문제는 함수
함수는 항상 0을 반환합니다.
그래서 파일이 열려 있는지 알 수 없습니다.
위 그림은 아직 생성되지 않은 파일 매핑을 여는 Expert Advisor의 로그입니다. 그리고 오류는 없습니다.
아마도 함수
CMemMapFile::Open함수를 OnInit()이 아닌 다른 곳, 예를 들어 OnTick()에 삽입해야 하지만 반환되는 핸들이 항상 0이기 때문에 틱할 때마다 파일이 계속 열리지 않도록 확인할 수 있는 방법이 없습니다.
그리고 두 번째 질문입니다.
델파이에서 파일 매핑을 생성하는 애플리케이션을 만듭니다. 연결할 때 오류가 발생합니다. 즉 숫자가 올바르게 전달되지 않았습니다. 나는 {$ 정렬 끄기}로 정렬을 시작했습니다.
'msvcrt.dll'에서 0x04E91000으로 읽은 액세스 위반과 같은 다른 오류가 발생했습니다.
이제 데이터가 19바이트씩 정상적으로 정렬됩니다 - "00:35:50.260 Panel v 1.00 GBPUSD.m,M5: OnInitsizeof(PipeData)= 19".
하지만 읽을 때는 모든 데이터가 0입니다.
문제는 함수
함수는 항상 0을 반환한다는 것입니다.
그래서 파일이 열려 있는지 알 수 없습니다.
맞습니다, CMemMapFile::Open은 오류 코드를 반환하거나 오류가 없으면 0을 반환합니다.
(열린 핸들을 반환하고 전달된 매개 변수에 오류를 기록하는 CMemMapApi: 와 달리).
그리고 핸들은 m_hmem에 있습니다.
델파이에서 파일 매핑을 생성하는 애플리케이션을 만듭니다. 연결할 때 오류가 발생합니다. 즉 숫자가 올바르게 전달되지 않았습니다.
파일 시작 부분에 예약된 DWORD 바이트를 고려하나요?4바이트? 제가 세어볼게요, 세어보지 않았어요.
소스에서 파일이 어떻게 쓰여지거나 생성되는지 살펴보세요.
m_size 매개변수에서
가 맞으면 CMemMapFile::Open은 오류 코드를 반환하고, 오류가 없으면 0을 반환합니다.
(열린 핸들을 반환하고 전달된 매개변수에 오류를 기록하는 CMemMapApi: 와 달리).
그리고 핸들은 m_hmem에 있습니다.
파일 시작 부분에 예약된 DWORD 바이트를 고려하나요?은 존재하지 않는 파일 매핑을 열 때 m_hmem입니다. 이것이 오류인지 핸들인지 어떻게 확인하나요?
은 존재하지 않는 파일 매핑을 열 때 m_hmem입니다. 오류인지 핸들인지 확인하는 방법은 무엇인가요?