파일 작업.
파일을 여는 표준 FileOpen() 함수 에 문제가 있습니다. 계속해서 파일을 여는 동안 오류가 발생합니다.

Документация по MQL5: Файловые операции / FileOpen
- www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
내 주제는 매우 관련이 있습니다. 어떤 식으로든 비표준 디렉토리에 파일을 쓸 수 없으며 침묵이 완료되었습니다.
Vladon :
내 주제는 매우 관련이 있습니다. 어떤 식으로든 비표준 디렉토리에 파일을 쓸 수 없으며 침묵이 완료되었습니다.
MQL의 문자열은 유니코드(문자당 2바이트)인 반면, kernel32.dll 함수는 산성(문자당 1바이트)입니다. 바이트 배열을 사용하고 원시 함수를 호출하는 StringToCharArray 함수내 주제는 매우 관련이 있습니다. 어떤 식으로든 비표준 디렉토리에 파일을 쓸 수 없으며 침묵이 완료되었습니다.
오류를 재현하는 코드와 함께 서비스 데스크에 요청 제출
여기에서 표준 파일 열기 기능과 함께 작동하는 테스트 코드를 작성했는데 항상 오류를 반환합니다. 개발자의 의견을 듣고 싶습니다.
//+------------------------------------------------------------------+ //| запись в файл.mq5 | //| Copyright 2010, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2010, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" input int Magic= 1000008 ; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- //--- return ( 0 ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { //--- Print ( "Открываем файл " , "Фаил_" +( string )Magic+ "_" + _Symbol + ".csv" ); int handle= FileOpen ( "Фаил_" +( string )Magic+ "_" + _Symbol + ".csv" , FILE_CSV | FILE_READ , ';' ); Print ( "handle = " ,handle); if (handle< 0 ) { Print ( "Ошибка № - " , GetLastError (), " открытия файла" ); } else { Print ( "Закрываем данные в файл" ); uint byte= FileWrite (handle, "Проверка записи в файл" ); Print ( "функция FileWrite() вернула " ,byte, " байт" ); Print ( "Закрываем файл" ); FileClose (handle); Print ( "Файл закрыт" ); } } //+------------------------------------------------------------------+
로그 항목
CL 0 запись в файл (EURUSD,M5) 10 : 54 : 32 Открываем файл Фаил_1000008_EURUSD.csv PK 0 запись в файл (EURUSD,M5) 10 : 54 : 32 handle = - 1 LL 0 запись в файл (EURUSD,M5) 10 : 54 : 32 Ошибка № - 5004 открытия файла RE 0 запись в файл (EURUSD,M5) 10 : 54 : 33 Открываем файл Фаил_1000008_EURUSD.csv ER 0 запись в файл (EURUSD,M5) 10 : 54 : 33 handle = - 1 EF 0 запись в файл (EURUSD,M5) 10 : 54 : 33 Ошибка № - 5004 открытия файла DO 0 запись в файл (EURUSD,M5) 10 : 54 : 37 Открываем файл Фаил_1000008_EURUSD.csv OD 0 запись в файл (EURUSD,M5) 10 : 54 : 37 handle = - 1 CP 0 запись в файл (EURUSD,M5) 10 : 54 : 37 Ошибка № - 5004 открытия файла HI 0 запись в файл (EURUSD,M5) 10 : 54 : 42 Открываем файл Фаил_1000008_EURUSD.csv KN 0 запись в файл (EURUSD,M5) 10 : 54 : 42 handle = - 1 KI 0 запись в файл (EURUSD,M5) 10 : 54 : 42 Ошибка № - 5004 открытия файла RR 0 запись в файл (EURUSD,M5) 10 : 54 : 42 Открываем файл Фаил_1000008_EURUSD.csv EQ 0 запись в файл (EURUSD,M5) 10 : 54 : 42 handle = - 1 IS 0 запись в файл (EURUSD,M5) 10 : 54 : 42 Ошибка № - 5004 открытия файла CL 0 запись в файл (EURUSD,M5) 10 : 54 : 43 Открываем файл Фаил_1000008_EURUSD.csv PK 0 запись в файл (EURUSD,M5) 10 : 54 : 43 handle = - 1 PL 0 запись в файл (EURUSD,M5) 10 : 54 : 43 Ошибка № - 5004 открытия файла PE 0 запись в файл (EURUSD,M5) 10 : 54 : 44 Открываем файл Фаил_1000008_EURUSD.csv CR 0 запись в файл (EURUSD,M5) 10 : 54 : 44 handle = - 1 OF 0 запись в файл (EURUSD,M5) 10 : 54 : 44 Ошибка № - 5004 открытия файла MO 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Открываем файл Фаил_1000008_EURUSD.csv JD 0 запись в файл (EURUSD,M5) 10 : 54 : 45 handle = - 1 JP 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Ошибка № - 5004 открытия файла CI 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Открываем файл Фаил_1000008_EURUSD.csv PN 0 запись в файл (EURUSD,M5) 10 : 54 : 45 handle = - 1 LI 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Ошибка № - 5004 открытия файла QR 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Открываем файл Фаил_1000008_EURUSD.csv FQ 0 запись в файл (EURUSD,M5) 10 : 54 : 45 handle = - 1 FS 0 запись в файл (EURUSD,M5) 10 : 54 : 45 Ошибка № - 5004 открытия файла JL 0 запись в файл (EURUSD,M5) 10 : 54 : 46 Открываем файл Фаил_1000008_EURUSD.csv MK 0 запись в файл (EURUSD,M5) 10 : 54 : 46 handle = - 1 IM 0 запись в файл (EURUSD,M5) 10 : 54 : 46 Ошибка № - 5004 открытия файла DF 0 запись в файл (EURUSD,M5) 10 : 54 : 46 Открываем файл Фаил_1000008_EURUSD.csv OM 0 запись в файл (EURUSD,M5) 10 : 54 : 46 handle = - 1 OF 0 запись в файл (EURUSD,M5) 10 : 54 : 46 Ошибка № - 5004 открытия файла MO 0 запись в файл (EURUSD,M5) 10 : 54 : 47 Открываем файл Фаил_1000008_EURUSD.csv JD 0 запись в файл (EURUSD,M5) 10 : 54 : 47 handle = - 1 FP 0 запись в файл (EURUSD,M5) 10 : 54 : 47 Ошибка № - 5004 открытия файла MI 0 запись в файл (EURUSD,M5) 10 : 54 : 49 Открываем файл Фаил_1000008_EURUSD.csv JN 0 запись в файл (EURUSD,M5) 10 : 54 : 49 handle = - 1 JI 0 запись в файл (EURUSD,M5) 10 : 54 : 49 Ошибка № - 5004 открытия файла KR 0 запись в файл (EURUSD,M5) 10 : 54 : 50 Открываем файл Фаил_1000008_EURUSD.csv HQ 0 запись в файл (EURUSD,M5) 10 : 54 : 50 handle = - 1 LS 0 запись в файл (EURUSD,M5) 10 : 54 : 50 Ошибка № - 5004 открытия файла QL 0 запись в файл (EURUSD,M5) 10 : 54 : 50 Открываем файл Фаил_1000008_EURUSD.csv FK 0 запись в файл (EURUSD,M5) 10 : 54 : 50 handle = - 1 FM 0 запись в файл (EURUSD,M5) 10 : 54 : 50 Ошибка № - 5004 открытия файла HF 0 запись в файл (EURUSD,M5) 10 : 54 : 51 Открываем файл Фаил_1000008_EURUSD.csv KM 0 запись в файл (EURUSD,M5) 10 : 54 : 51 handle = - 1 OF 0 запись в файл (EURUSD,M5) 10 : 54 : 51 Ошибка № - 5004 открытия файла NO 0 запись в файл (EURUSD,M5) 10 : 54 : 51 Открываем файл Фаил_1000008_EURUSD.csv ID 0 запись в файл (EURUSD,M5) 10 : 54 : 51 handle = - 1 IP 0 запись в файл (EURUSD,M5) 10 : 54 : 51 Ошибка № - 5004 открытия файла EI 0 запись в файл (EURUSD,M5) 10 : 54 : 52 Открываем файл Фаил_1000008_EURUSD.csv RN 0 запись в файл (EURUSD,M5) 10 : 54 : 52 handle = - 1 FJ 0 запись в файл (EURUSD,M5) 10 : 54 : 52 Ошибка № - 5004 открытия файла GS 0 запись в файл (EURUSD,M5) 10 : 54 : 52 Открываем файл Фаил_1000008_EURUSD.csv LP 0 запись в файл (EURUSD,M5) 10 : 54 : 52 handle = - 1 LS 0 запись в файл (EURUSD,M5) 10 : 54 : 52 Ошибка № - 5004 открытия файла RL 0 запись в файл (EURUSD,M5) 10 : 54 : 53 Открываем файл Фаил_1000008_EURUSD.csv EK 0 запись в файл (EURUSD,M5) 10 : 54 : 53 handle = - 1 IM 0 запись в файл (EURUSD,M5) 10 : 54 : 53 Ошибка № - 5004 открытия файла DF 0 запись в файл (EURUSD,M5) 10 : 54 : 53 Открываем файл Фаил_1000008_EURUSD.csv OM 0 запись в файл (EURUSD,M5) 10 : 54 : 53 handle = - 1 OF 0 запись в файл (EURUSD,M5) 10 : 54 : 53 Ошибка № - 5004 открытия файла OO 0 запись в файл (EURUSD,M5) 10 : 54 : 54 Открываем файл Фаил_1000008_EURUSD.csv DD 0 запись в файл (EURUSD,M5) 10 : 54 : 54 handle = - 1 PP 0 запись в файл (EURUSD,M5) 10 : 54 : 54 Ошибка № - 5004 открытия файла MI 0 запись в файл (EURUSD,M5) 10 : 54 : 54 Открываем файл Фаил_1000008_EURUSD.csv JN 0 запись в файл (EURUSD,M5) 10 : 54 : 54 handle = - 1 JJ 0 запись в файл (EURUSD,M5) 10 : 54 : 54 Ошибка № - 5004 открытия файла DS 0 запись в файл (EURUSD,M5) 10 : 54 : 55 Открываем файл Фаил_1000008_EURUSD.csv OP 0 запись в файл (EURUSD,M5) 10 : 54 : 55 handle = - 1 KS 0 запись в файл (EURUSD,M5) 10 : 54 : 55 Ошибка № - 5004 открытия файла OL 0 запись в файл (EURUSD,M5) 10 : 54 : 56 Открываем файл Фаил_1000008_EURUSD.csv DK 0 запись в файл (EURUSD,M5) 10 : 54 : 56 handle = - 1 DM 0 запись в файл (EURUSD,M5) 10 : 54 : 56 Ошибка № - 5004 открытия файла IF 0 запись в файл (EURUSD,M5) 10 : 54 : 56 Открываем файл Фаил_1000008_EURUSD.csv NM 0 запись в файл (EURUSD,M5) 10 : 54 : 56 handle = - 1 JG 0 запись в файл (EURUSD,M5) 10 : 54 : 56 Ошибка № - 5004 открытия файла DP 0 запись в файл (EURUSD,M5) 10 : 54 : 57 Открываем файл Фаил_1000008_EURUSD.csv OG 0 запись в файл (EURUSD,M5) 10 : 54 : 57 handle = - 1 OP 0 запись в файл (EURUSD,M5) 10 : 54 : 57 Ошибка № - 5004 открытия файла NI 0 запись в файл (EURUSD,M5) 10 : 54 : 57 Открываем файл Фаил_1000008_EURUSD.csv IN 0 запись в файл (EURUSD,M5) 10 : 54 : 57 handle = - 1 EJ 0 запись в файл (EURUSD,M5) 10 : 54 : 57 Ошибка № - 5004 открытия файла MS 0 запись в файл (EURUSD,M5) 10 : 54 : 58 Открываем файл Фаил_1000008_EURUSD.csv JP 0 запись в файл (EURUSD,M5) 10 : 54 : 58 handle = - 1 JS 0 запись в файл (EURUSD,M5) 10 : 54 : 58 Ошибка № - 5004 открытия файла CL 0 запись в файл (EURUSD,M5) 10 : 54 : 58 Открываем файл Фаил_1000008_EURUSD.csv PK 0 запись в файл (EURUSD,M5) 10 : 54 : 58 handle = - 1 DM 0 запись в файл (EURUSD,M5) 10 : 54 : 58 Ошибка № - 5004 открытия файла JF 0 запись в файл (EURUSD,M5) 10 : 54 : 59 Открываем файл Фаил_1000008_EURUSD.csv MM 0 запись в файл (EURUSD,M5) 10 : 54 : 59 handle = - 1 MG 0 запись в файл (EURUSD,M5) 10 : 54 : 59 Ошибка № - 5004 открытия файла PP 0 запись в файл (EURUSD,M5) 10 : 54 : 59 Открываем файл Фаил_1000008_EURUSD.csv CG 0 запись в файл (EURUSD,M5) 10 : 54 : 59 handle = - 1 GP 0 запись в файл (EURUSD,M5) 10 : 54 : 59 Ошибка № - 5004 открытия файла QI 0 запись в файл (EURUSD,M5) 10 : 55 : 00 Открываем файл Фаил_1000008_EURUSD.csv FN 0 запись в файл (EURUSD,M5) 10 : 55 : 00 handle = - 1 FJ 0 запись в файл (EURUSD,M5) 10 : 55 : 00 Ошибка № - 5004 открытия файла GS 0 запись в файл (EURUSD,M5) 10 : 55 : 00 Открываем файл Фаил_1000008_EURUSD.csv LP 0 запись в файл (EURUSD,M5) 10 : 55 : 00 handle = - 1 HD 0 запись в файл (EURUSD,M5) 10 : 55 : 00 Ошибка № - 5004 открытия файла FM 0 запись в файл (EURUSD,M5) 10 : 55 : 01 Открываем файл Фаил_1000008_EURUSD.csv QJ 0 запись в файл (EURUSD,M5) 10 : 55 : 01 handle = - 1 QM 0 запись в файл (EURUSD,M5) 10 : 55 : 01 Ошибка № - 5004 открытия файла LF 0 запись в файл (EURUSD,M5) 10 : 55 : 01 Открываем файл Фаил_1000008_EURUSD.csv GM 0 запись в файл (EURUSD,M5) 10 : 55 : 01 handle = - 1 CG 0 запись в файл (EURUSD,M5) 10 : 55 : 01 Ошибка № - 5004 открытия файла GP 0 запись в файл (EURUSD,M5) 10 : 55 : 02 Открываем файл Фаил_1000008_EURUSD.csv LG 0 запись в файл (EURUSD,M5) 10 : 55 : 02 handle = - 1 LP 0 запись в файл (EURUSD,M5) 10 : 55 : 02 Ошибка № - 5004 открытия файла QI 0 запись в файл (EURUSD,M5) 10 : 55 : 02 Открываем файл Фаил_1000008_EURUSD.csv FN 0 запись в файл (EURUSD,M5) 10 : 55 : 02 handle = - 1 RJ 0 запись в файл (EURUSD,M5) 10 : 55 : 02 Ошибка № - 5004 открытия файла LS 0 запись в файл (EURUSD,M5) 10 : 55 : 03 Открываем файл Фаил_1000008_EURUSD.csv GP 0 запись в файл (EURUSD,M5) 10 : 55 : 03 handle = - 1 GD 0 запись в файл (EURUSD,M5) 10 : 55 : 03 Ошибка № - 5004 открытия файла FM 0 запись в файл (EURUSD,M5) 10 : 55 : 03 Открываем файл Фаил_1000008_EURUSD.csv QJ 0 запись в файл (EURUSD,M5) 10 : 55 : 03 handle = - 1 MM 0 запись в файл (EURUSD,M5) 10 : 55 : 03 Ошибка № - 5004 открытия файла MF 0 запись в файл (EURUSD,M5) 10 : 55 : 04 Открываем файл Фаил_1000008_EURUSD.csv JM 0 запись в файл (EURUSD,M5) 10 : 55 : 04 handle = - 1 JG 0 запись в файл (EURUSD,M5) 10 : 55 : 04 Ошибка № - 5004 открытия файла DP 0 запись в файл (EURUSD,M5) 10 : 55 : 05 Открываем файл Фаил_1000008_EURUSD.csv OG 0 запись в файл (EURUSD,M5) 10 : 55 : 05 handle = - 1 CQ 0 запись в файл (EURUSD,M5) 10 : 55 : 05 Ошибка № - 5004 открытия файла GJ 0 запись в файл (EURUSD,M5) 10 : 55 : 06 Открываем файл Фаил_1000008_EURUSD.csv LI 0 запись в файл (EURUSD,M5) 10 : 55 : 06 handle = - 1 LJ 0 запись в файл (EURUSD,M5) 10 : 55 : 06 Ошибка № - 5004 открытия файла QS 0 запись в файл (EURUSD,M5) 10 : 55 : 06 Открываем файл Фаил_1000008_EURUSD.csv FP 0 запись в файл (EURUSD,M5) 10 : 55 : 06 handle = - 1 JD 0 запись в файл (EURUSD,M5) 10 : 55 : 06 Ошибка № - 5004 открытия файла DM 0 запись в файл (EURUSD,M5) 10 : 55 : 07 Открываем файл Фаил_1000008_EURUSD.csv OJ 0 запись в файл (EURUSD,M5) 10 : 55 : 07 handle = - 1 OM 0 запись в файл (EURUSD,M5) 10 : 55 : 07 Ошибка № - 5004 открытия файла GF 0 запись в файл (EURUSD,M5) 10 : 55 : 08 Открываем файл Фаил_1000008_EURUSD.csv LM 0 запись в файл (EURUSD,M5) 10 : 55 : 08 handle = - 1 HG 0 запись в файл (EURUSD,M5) 10 : 55 : 08 Ошибка № - 5004 открытия файла EP 0 запись в файл (EURUSD,M5) 10 : 55 : 08 Открываем файл Фаил_1000008_EURUSD.csv RG 0 запись в файл (EURUSD,M5) 10 : 55 : 08 handle = - 1 RQ 0 запись в файл (EURUSD,M5) 10 : 55 : 08 Ошибка № - 5004 открытия файла LJ 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Открываем файл Фаил_1000008_EURUSD.csv GI 0 запись в файл (EURUSD,M5) 10 : 55 : 09 handle = - 1 CJ 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Ошибка № - 5004 открытия файла JS 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Открываем файл Фаил_1000008_EURUSD.csv MP 0 запись в файл (EURUSD,M5) 10 : 55 : 09 handle = - 1 MD 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Ошибка № - 5004 открытия файла PM 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Открываем файл Фаил_1000008_EURUSD.csv CJ 0 запись в файл (EURUSD,M5) 10 : 55 : 09 handle = - 1 ON 0 запись в файл (EURUSD,M5) 10 : 55 : 09 Ошибка № - 5004 открытия файла FG 0 запись в файл (EURUSD,M5) 10 : 55 : 10 Открываем файл Фаил_1000008_EURUSD.csv QL 0 запись в файл (EURUSD,M5) 10 : 55 : 10 handle = - 1 QG 0 запись в файл (EURUSD,M5) 10 : 55 : 10 Ошибка № - 5004 открытия файла LP 0 запись в файл (EURUSD,M5) 10 : 55 : 10 Открываем файл Фаил_1000008_EURUSD.csv GG 0 запись в файл (EURUSD,M5) 10 : 55 : 10 handle = - 1 CQ 0 запись в файл (EURUSD,M5) 10 : 55 : 10 Ошибка № - 5004 открытия файла

Документация по MQL5: Файловые операции / FileOpen
- www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
mql5 :
FILE_READ 플래그로 열고 쓰기를 시도하시겠습니까?
FILE_READ 플래그로 열고 쓰기를 시도하시겠습니까?
추가할 것입니다 - 파일 열기를 위한 플래그 섹션이 있습니다.
읽기 및 쓰기 플래그를 지정할 때 몇 가지 특징이 있습니다.
- FILE_READ 가 지정되면 기존 파일을 열려고 시도합니다. 파일이 존재하지 않으면 파일을 열 수 없으며 새 파일이 생성되지 않습니다.
- FILE_READ|FILE_WRITE인 경우 동일한 이름의 파일이 없으면 새 파일이 생성됩니다.
- FILE_WRITE인 경우 - 파일이 0 크기로 다시 생성됩니다.
파일을 열 때 FILE_WRITE 플래그 및/또는 FILE_READ 플래그를 지정해야 합니다.
표준 FileOpenHistory 기능이 구현됩니까?
Urain :
표준 FileOpenHistory 기능이 구현됩니까?
아니요, 이력은 CopyXXX 기능을 통해 직접 사용할 수 있습니다. 더 이상 원본 기록 파일에 대한 액세스 권한을 부여하지 않습니다.표준 FileOpenHistory 기능이 구현됩니까?
다음과 같은 어려움이 있었습니다.
즉, 파일을 작성하려고 하는데 파일은 물론이고 오류가 없습니다.