Использую скрипт:
filedelete (С:/blablabla/123.txt)
"создание файла в некой игре"
load_array %z С:/blablabla/123.txt
set %d indexOf (%z noabs (некий текст))
"дейсвия в игре"
через примерно час файл перестает удалятся, при попытки удалить в ручную просит закрыть пилот
"Операция не может быть завершена , поскольку этот файл открыт в ..."
пробовал добавлять:
delete_array %z
но ничего не дало.
Подскажите как можно исправить эту проблему
похоже не то, что load_array оставляет файл залоченным, либо хендлы файлов внутри пилота где-то теряются. Есть скрипт небольшой, то можно попробовать на lua переписать - там ручно управление открытием/закрытием файлов.
Сам load_array не может вызывать таких проблем, так как у меня 24/7 читается так файл каждую секунду, и все в порядке.
Во-первых у тебя в этой строке С:/blablabla/123.txt буква С - русская буква. Не представляю тогда как вообще у тебя он хоть что-то делал)))
Во-вторых, попробуй читать копию файла, проблема должна исчезнуть.
if fileexists(c:/blablabla/123.txt)
wait 200
filecopy (c:/blablabla/123.txt c:/blablabla/456.txt)
wait 200
load_array %z c:/blablabla/456.txt
set %d indexOf (%z noabs (некий текст))
// действия в игре
// действия в игре
// действия в игре
filedelete (c:/blablabla/456.txt)
filedelete (c:/blablabla/123.txt)
end_if
Попробовал с копией, проблема осталась, но теперь не удаляется копия.
Вот сам скрипт с уже добавленным копированием файла: https://pastebin.com/JkWpksgN
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)