Unreliable File Deletion
Mark Waddingham
mark at livecode.com
Mon Mar 29 04:04:04 EDT 2021
On 2021-03-28 18:11, R.H. via use-livecode wrote:
> @ Peter Reid
>
> Your message found my attention.
> Also I am working on Windows 10 and have the same problem using LC
> 9.6.1
> Indy version.
>
> The similar or same problem as you have: I want to delete the text
> file.
> The command I issue is "detele file <pathname>". The error it returns:
> "Can't delete file".
All cases of people reporting bugs with 'delete file' on Windows that I
have seen fall into one of two cases:
1) The path they give to 'delete file' is wrong.
2) The file they are trying to delete is open by the app, or by another
app.
In terms of (1) - its easy to determine - log the path you are using, or
use 'there is a file <tFilePath>' (but make sure the file you are
checking for / logging *is* actually the same path as being passed to
'delete file').
In terms of (2) - Windows and UNIX-derived OSes have a critical
difference when it comes to filesystems - in UNIX land you can delete a
file which another process has open, on Windows you can't. (Note: It is
possible for multiple processes on Windows to open the same file, if
none have requested exclusive access, but the file cannot be
deleted/renamed/moved until it is not open by any process).
>> ... // Delete temp file
> ... delete file ("binfile:"&tFilePath)
> ... put the result into tResult
> ... if "can't delete that file" is in tResult then
>
> ...... myMSG tHInfo & "File could not be deleted." &CR& tFilePath -->
> My
> message handler
This script falls into category (1) above - you are giving delete file a
binfile URL. The 'delete file' command requires a normal file path, not
a URL of any kind.
Warmest Regards,
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list