My app contains documents in its database. The users can open the documents in which case, the document gets saved to a temporary folder and gets opened on the user\'s compu
You can detect changes in your temporary files (or any file) using the TJvChangeNotify component from the JEDI JVCL collection.
Also take a look at this: http://www.cromis.net/blog/downloads/directory-watch/ and How to monitoring directory for files in Delphi XE?
In addition to what RRuz and Remy Lebeau wrote:
Note that TJvChangeNotify
in the JvChangeNotify
unit makes use of the FindFirstChangeNotification
API call; this is the MSDN documentation. Note it is a bit counter-intuitive: see the thread mentioned below on how to use it inside a while loop.
There is also the ReadDirectoryChanges
API call, which is not wrapped by the JCL/JVCL, and has MSDN documentation here and there is a Delphi win32 example as well.
This thread explains the differences between the two API calls.
--jeroen
You can either:
use the Win32 API SHChangeNotifyRegister function to watch for changes in the temp folder, and then have your callback check if your temporary files are reporting changes.
since you know the exact file(s) you are interested in, you can manually monitor them directly for changes to their sizes and timestamps using FindFirstFile in a timer or thread.