Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Проблема с удалением файла
lnaqqa
сообщение 19.10.2019, 20:56
Сообщение #1


*

Registred
Сообщений: 7
Регистрация: 26.1.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.818
Возраст: 30



Использую скрипт:
filedelete (С:/blablabla/123.txt)
"создание файла в некой игре"
load_array %z С:/blablabla/123.txt
set %d indexOf (%z noabs (некий текст))
"дейсвия в игре"

через примерно час файл перестает удалятся, при попытки удалить в ручную просит закрыть пилот
"Операция не может быть завершена , поскольку этот файл открыт в ..."
пробовал добавлять:
delete_array %z
но ничего не дало.
Подскажите как можно исправить эту проблему
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.10.2019, 1:41
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



похоже не то, что load_array оставляет файл залоченным, либо хендлы файлов внутри пилота где-то теряются. Есть скрипт небольшой, то можно попробовать на lua переписать - там ручно управление открытием/закрытием файлов.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 20.10.2019, 17:38
Сообщение #3


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



Сам 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


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.10.2019, 18:33
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



Цитата
Сам load_array не может вызывать таких проблем

либо load либо save действительно у меня вызывал такие проблемы. Причем пока пилот не закроешь толку не будет. Ну либо анлокером закрывать хендлы.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 20.10.2019, 21:52
Сообщение #5


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2419
Пользователь №: 18.746



Цитата(DarkMaster @ 20.10.2019, 18:33) *

либо load либо save действительно у меня вызывал такие проблемы. Причем пока пилот не закроешь толку не будет. Ну либо анлокером закрывать хендлы.

Да, совсем недавно, вот когда делал телеграм бота, столкнулся с такой же темой. Там как раз и крутится в цикле load_array. Но я нашел что вызывало эту проблему, что-то сделал, и больше такой проблемы не появлялось. То есть это ошибка пользователя, а не вина самого пилота, и сейчас все работает как часы.

Только проблема в том, что я сейчас никак не смог вспомнить что вызывало эту проблему, и что я сделал что бы ее пофиксить, так как там и других проблем хватало)) Так что пока предложил попробовать чтение копии, ну а если автор кинет целый код, то может и получится вспомнить в чем именно загвоздка.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.10.2019, 22:41
Сообщение #6


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



Цитата
Но я нашел что вызывало эту проблему, что-то сделал, и больше такой проблемы не появлялось.

Учитывая, что в пилотовском синтаксисе нет прямого управления открытием и закрытием файла, то не может быть ошибкой пользователя. ИМХО.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
lnaqqa
сообщение 21.10.2019, 17:38
Сообщение #7


*

Registred
Сообщений: 7
Регистрация: 26.1.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 17.818
Возраст: 30



Попробовал с копией, проблема осталась, но теперь не удаляется копия.
Вот сам скрипт с уже добавленным копированием файла: https://pastebin.com/JkWpksgN


Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 8:13
Designed by Nickostyle