2017.08.2817:36:18.525 Demo_FolderDelete EURUSD.e,H4: Не удалось удалить папку nonempty. Код ошибки=50252017.08.2817:36:16.985 Demo_FolderDelete EURUSD.e,H4: Не удалось очистить папку nonempty. Код ошибки=5026
2017.08.2817:50:45.328 Demo_FolderDelete (CADJPY,H4) Не удалось очистить папку nonempty. Код ошибки=50252017.08.2817:50:47.958 Demo_FolderDelete (CADJPY,H4) Не удалось удалить папку nonempty. Код ошибки=5024
据我所知,如果没有使用文件函数(如FileWrite())对文件进行修改,就没有必要关闭它。FileOpen()函数只是创建一个新的文件,这个操作不需要关闭文件(这个函数的文档,也没有说创建后需要关闭文件)。
Oy-lee!讲故事的人https://docs.mql4.com/ru/files/fileopen
//-- 在 "文件沙盒 "中工作的正确方法
ResetLastError()。
filehandle=FileOpen("fractals.csv",FILE_WRITE|FILE_CSV)。
如果(filehandle!=INVALID_HANDLE)
{
FileWrite(filehandle,TimeCurrent(),Symbol(),EnumToString(ENUM_TIMEFRAMES(_Period))。
FileClose(filehandle)。
Print("FileOpen OK")。
}
否则,Pri
Oy-lee!讲故事的人https://docs.mql4.com/ru/files/fileopen
与我所说的有什么矛盾呢?
我说,-
Retag Konow:
据我所知,如果没有使用文件函数(如FileWrite())对文件进行修改,就没有必要关闭它。FileOpen()函数只是创建一个新的文件,这个操作不需要关闭文件(这个函数的文档也没有说创建后需要关闭文件)。
但在你的例子中,FileWrite()函数是在文件被创建后立即使用的。然后你使用 FileClose(filehandle)。
另外,在上面的脚本代码中,我添加了一个明确的封闭,但这并没有解决任何问题......。
正是这样。当我试图删除一个已经包含子文件夹和文件的文件夹时,我会先删除文件。只留下子文件夹。我尝试用FolderClean()清理它们,然后调用FolderDelete()。然而,结果是那些空的子文件夹被很好地删除了,但如果子文件夹里面有更多的子文件夹,则不会被删除。之后,我试图从MetaEditor的文件导航器中手动删除这些文件夹,但终端并没有删除它们,而是弹出这个窗口。
我点击 "继续",同意修改,但文件夹仍然没有被删除。在完全关闭并重新打开终端后,应该被删除的文件夹要么自己消失,要么不消失,但你可以在没有上述窗口的情况下立即手动删除它们。
这种奇怪的事情...
我见过很多次这样的事情。我发现,在某些时候,Files文件夹及其所有子文件夹和文件都具有只读属性。手动取消选择这个标志并没有帮助。但重新启动终端总是有帮助的。无法让它播放(没有尝试),所以没有向SD报告。
该错误(5022)仅在你设置了FILE_COMMON
它清除了该文件夹,但没有删除它
这个标志不需要设置,否则文件会在共享文件夹中被搜索到,而错误说目录名是错误的。
文件路径
"\\MQL4\\Files";不需要设置这个标志。所以一切都很正确。
我已经看到这种事情发生了很多次。我发现,在某些时候,Files文件夹以及所有子文件夹和文件都具有只读属性。手动取消选择这个标志并没有帮助。但重新启动终端总是有帮助的。无法让它播放(没有尝试),所以没有向SD报告。
这个标志不需要设置,否则文件将在共享文件夹中被搜索到,并且错误的说目录名是错误的。
在有和没有FILE_COMMON 的情况下--都能工作(最初在检查时,我忘了在最后一个if中加上这个标志)。对于FILE_COMMON,它被暗示为在所有操作中都存在。
这个标志不需要设置,否则文件会在公共文件夹中被搜索到,而且错误说目录名是错误的。
文件的路径
不需要设置这个标志。所以一切都很正确。
这很奇怪。我注意到了MQL4文件夹的路径,并将代码重新编译为.ex4,奇怪的是,代码工作起来没有错误。我删除了文件的关闭,得到了
然后在没有修正的情况下,我在mt5上运行它,奇怪的是,提到的MQL4文件夹被忽略了。文件夹和文件已经在MQL5文件夹中创建。从这里开始,一切都与MT4相同。一个未关闭的文件没有被删除...
这一切都很奇怪。我注意到了MQL4文件夹的路径,并将代码重新编译为.ex4,奇怪的是,代码工作起来没有错误。删除了文件关闭,得到了
然后在没有修正的情况下,我在mt5上运行它,奇怪的是,提到的MQL4文件夹被忽略了。该文件夹和文件已在MQL5文件夹中创建。从这里开始,一切都与MT4相同。一个未关闭的文件没有被删除...
我的意思是,你用一个脚本做了一个专家顾问,并试图运行它?
但我关闭它,问题仍然存在......唉......(