Is there any reason not to use C++ for changes in the dlls? That would allow automatic cleanup of structures etc. I think using exceptions may slow things down (but don't know). I don't mean using the Builder version of Delphi I mean true (if there is any such thing) C++. I would like to try different internal 'lists' to store the found files - these must remove (or better still - reject) duplicates. Just a thought. Russell Peters http://www.users.bigpond.com/russellpeters/delphizip.html