-
February 8th, 2009, 01:13 AM
#1
[RESOLVED] Killing a file
Hi,
My question is about deleting a temp pst file that is created by our code in Vista environment.
Code makes a copy of the system user profile pst with a different name, uses that file to open other emails and attachments for us to extract. After we are done, we delete the temporary file using kill filename.
Although this works fin in XP, somehow vista is holding on to the file longer time while code is running. If I debug it, kill function works, although still need to wait a second or two.
How can release that pst file and make sure that I can delete it in the code? Is there such a command or tricks to it?
Thanks
-
February 8th, 2009, 03:32 AM
#2
Re: Killing a file
You could use a timer and an error handler put the code to kill the file along with an error handler in the timer tick routine. Activate the timer when you are ready to kill the file and place code in the timer tick routine to disable the timer once it has actually killed the file. This way it will keep trying until the file is deleted.
-
February 8th, 2009, 06:39 AM
#3
Re: Killing a file
Actually I do have a routine with a function called forcetokill. Interesting thing is, even if I put a loop with a timer, it loops forever. If I stop it for debug, and continue a second or two later, it deletes the file. This works in XP but not in Vista. Something is keeping the handle ties while code is running. I wonder if Vista kernel has something to do with it.
-
February 8th, 2009, 07:57 AM
#4
Re: Killing a file
Create a SECOND program called ForceKill() that waits while you close your app, then if the pst file isn't release, to kill it after your program finishes
Also, what folder is it written in? Try a subfolder somewhere else
-
February 9th, 2009, 06:27 AM
#5
Re: Killing a file
You should give the OS time to actually finish the kill e.g.
Code:
Kill "Your temp file.tmp"
DoEvents
Sleep(1000) 'wait a second or so, 1000 milliseconds = 1 second
Maybe this will help.
-
February 9th, 2009, 06:38 AM
#6
Re: Killing a file
Just a question LeoKoach..
Is the UAC turned on on the Vista machine ¿
-
February 9th, 2009, 10:39 AM
#7
Re: Killing a file
Originally Posted by LeoKoach
Actually I do have a routine with a function called forcetokill. Interesting thing is, even if I put a loop with a timer, it loops forever. If I stop it for debug, and continue a second or two later, it deletes the file. This works in XP but not in Vista. Something is keeping the handle ties while code is running. I wonder if Vista kernel has something to do with it.
Don't use a loop. Use a timer control. Unless of course you need the file deleted before you continue on to the next line of code in which case the sleep statement suggested by another poster within a loop may do the trick though you should use a timeout in the loop so that it will exit at some point if the file is not deleted after a period of time.
In general I would avoid long sleep statements as they make the program non-responsive, A timer will work with the program and cause no noticable performance hit.
-
February 11th, 2009, 08:38 PM
#8
Re: Killing a file (Workaround)
UAC is off. I used “timer” and “sleep” in the loop and without loop. Unless if I debug, or close the IDE, I can't delete the file. When I run the same code over and over again, it's random that file gets deleted.
I worked this thing around for now
Each time program runs that code, it creates a session. Each session number is unique and it also creates temporary pst file such as 0001.pst 0002.pst etc. What I did is, anytime program returns "0" error code when it tries to delete, I assume I can delete all the leftover pst files and I just kill everything in the batch folder with pst extension.
This seems like working fine. Leftovers are not harmful, although this is only a workaround, not the fix... I have to live with it for while
Thanks all for your replies, if you have any other solutions, please let me know.
Leo
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|