Jump to content
Sign in to follow this  
idoru

File Handles staying open after close.

Recommended Posts

idoru

OK I don't understand this one, what have I done wrong.

I'm creating a file like so:

$filehandle = "c:\flag.txt"     
$return_code = FileOpen($filehandle, 9)     
If $return_Code <> -1 Then UpdateLog("Created flag file")   
If $return_code = -1 Then       
UpdateLog("Error creating: flag.txt")       
Exit    
EndIf   
FileClose($filehandle)

this creates the file quite happily however I have another process which should delete the flag file but can't as the handle is still open. The other process is run as a runwait command from within the process which creates the flag.txt. ProcMon states that the file handle is still held open by the process which created even though I've closed it.

What gives?

Share this post


Link to post
Share on other sites
water

You should use

FileClose($return_code)
to make it work.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
Inverted

Yep, water is right.

This is very very bad :

$filehandle = "c:\flag.txt"

That variable is misnamed, it's not a handle, so it's confusing you. You should have named it something like $filename. The real handle is the return of the FileOpen

Share this post


Link to post
Share on other sites
Yashied

Share this post


Link to post
Share on other sites
idoru

FileOpen($filehandle, 9)

I am interested in a value 9 from this line. What it should do?

Read mode + Create directory structure - ???

Thanks all. Bloomin obvious when you step back from it.

Flag 9 should create directory structure and open to append.

Share this post


Link to post
Share on other sites
jvanegmond

FileOpen($filehandle, 9)

I am interested in a value 9 from this line. What it should do?

Read mode + Create directory structure - ???

Read mode + Write Mode + Create directory structure

0 + 1 + 8

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.