Как определить причину ошибки 5004?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
jaffer wilson
2503
jaffer wilson  

Я пытался открыть файл с именем файла, хранящимся в файле. Я использую это с ресурсом:

 #resource  "Filenames_list \\ FileNames.txt"  as  uchar  filenames []  
 string  All_Names =  CharArrayToString  (filenames), FileNames_Out [];  
 int  lenght =  StringSplit  (All_Names,  '\ n'  , FileNames_Out);  
 striing filenames = FileNames_Out [  0  ];  
 int  OnInit  ()  
   {  
 int  file =  FileOpen  (filenames,  FILE_READ  |  FILE_WRITE  |  FILE_COMMON  |  FILE_SHARE_READ  |  FILE_CSV  ,  ','  );  
   if  (file! = INVALID_HANDLE  ) {  Print  (  "OK"  );}  else  {  Print  (filenames,  ""  ,  GetLastError  (),  ""  , file);  return  (  INIT_FAILED  );}  
   FileClose  (file);  
 } 

Сообщение об ошибке:

joinme_2019.csv   5004    - 1 

Я не понимаю причину 5004. Это означает, что ошибка открытия файла. Но для чего это нужно?

Пожалуйста, дайте мне знать, что это решение. Я могу правильно прочитать файл ресурсов.

jaffer wilson
2503
jaffer wilson  
Код отлично работает в скриптах, а не в экспертах или индикаторах.
jaffer wilson
2503
jaffer wilson  
Кто-нибудь может ответить на мой вопрос?
Slava
Модератор
13448
Slava  
Slava
Модератор
13448
Slava  
jaffer wilson:
Кто-нибудь может ответить на мой вопрос?

Вы сами не предприняли никаких шагов для анализа Вашей ситуации.

1. Где FileIsExist?

2. Где проверка системной ошибки kernel32::GetLastError()?

jaffer wilson
2503
jaffer wilson  
Slava :

You should not be able to analyze your situation.

1. Where is FileIsExist ?

2. Where is the verification of the kernel32 :: GetLastError () system error ?

Сэр, файл не существует. Но FileOpen () создать файл, если не существует, не так?

jaffer wilson
2503
jaffer wilson  

Я попробовал это. Это не сработало.

Slava
Модератор
13448
Slava  
jaffer wilson:

Я попробовал это. Это не сработало.

Какую ошибку отдаёт kernel32::GetLastError()?
jaffer wilson
2503
jaffer wilson  
Slava :
What error does kernel32 :: GetLastError () give ?
 PrintFormat  (  "Error Code:% d"  , kernel32 ::  GetLastError  ()); 

Шоу

 Error Code:  123 

Я не понял причину. Что делать, сэр?

Slava
Модератор
13448
Slava  

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-

ERROR_INVALID_NAME

123 (0x7B)

The filename, directory name, or volume label syntax is incorrect.

System Error Codes (0-499) - Windows applications
  • 2018.05.31
  • windows-sdk-content
  • docs.microsoft.com
The System Error Codes are very broad.
jaffer wilson
2503
jaffer wilson  
Slava :

https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes--0-499-

ERROR_INVALID_NAME

123 (0x7B)

The filename, directory name, or volume label syntax is incorrect.

Сэр, я проверил, что, если я использую значения строк напрямую, файл создается. Но когда я загружаю имена файлов из файла ресурсов, я получаю сообщение об ошибке.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий