Sorry if last time we uploaded dbfsql.zip without sources and in italian language, we were just trying to upload first time in your site and we didn't believe we were published. We have so much to work and no time enough to do everyting, but we will upload a new version with everything is necessary as soon as possible. The description of this new component is quite the same file txt we zip with the sources for downloaders as help and, may be, for you it contain details not very interesting. Thak's for your upload and have a nice time ... G.Burzomato L.Menghini e-mail : lume@tn.village.it TFileCopy is a component designed for very fast copy of files without external, coarse calls involving the O.S. Furthermore it provides to send to the calling form (by the API SendMessage) the percentages of blocks read and written during the copy. If you use two TProgressBar (Delphi 3.0), or any other component like that, you can show visually the progress during the copy. The method handling the message must use the constant predefined WM_FILECOPY declared inside FileCopy.pas. Any time the message is received wParam contains the percentage read and lParam the percentage written. For read and write we have used low-level calls to FileRead and FileWrite to avoid the error generated by the standard procedure reset on opening read-only files like from a CD-ROM. Properties : Name ShowOverwrite SourceFile Tag TargetFile * Name is the name of the component like always * ShowOverwrite True allows a dialog calling if you want overwrite an existing file, otherwise TFileCopy copy overwrite it without asking * SourceFile is the full path-name of the source file * Tag ... * TargetFile is the full path-name of the target file They can also be different. Method : ExecCopy * ExecCopy just start the copy. This is an example of the message handling method on the calling form : procedure TForm1.WMFileCopy(var Msg : TMessage); begin with Msg do begin ProgressFrom.position := wParam; ProgressTo.position := lParam; ProgressFrom.repaint; ProgressTo.repaint; end; end; ProgressFrom and ProgressTo are two TProgressBar components. If you don't declare any method handling the message TFileCopy works all the same and it works very very faster. *** First problem FileCopy.DCR is compiled with Delphi 1.0 so doesn't work with the following versions, but you can easily upgrade it with any Resources tool just 1) renaming it from .DCR to .RES 2) upgrading to 32 bit 3) renaming it again from .RES to .DCR *** Second problem The constant wm_filecopy is coded as := wm_user + 7777. It's possible that it's a value already in use in your application and this problem should causes behaviours very terribles. Sorry, you must change the value in FileCopy.pas or you must do not declare any method to handle the message. We have tried to present it like a property editable but in the declaration part of the calling form the value of a attribute of a component owned by the form isn't visible and that cause the message : Error : unknown identifier after the reserved word 'message' . If you can find any different solution to make TFileCopy easier to use, please write us.