看看Copy的原型定义:<br>BOOL CopyFile(<br> LPCTSTR lpExistingFileName, // name of an existing file<br> LPCTSTR lpNewFileName, // name of new file<br> BOOL bFailIfExists // operation if file exists<br>);<br>第一个参数是要拷贝的文件,第二个参数是要拷贝到的那个文件,第三个参数告诉CopyFile<br>如果第二个参数指定的文件已存在的话该怎么办。<br><br>很显然,就copyFile(pchar('./tmp.rm'),pchar(saveDialog1.Filename),false);这一句<br>来说,如果'./tmp.rm'不存在的话,拷贝当然失败。<br>你可以测试一下看当前目录(.)是在什么位置:<br>ShowMessage('CurrentDir: '+GetCurrentDir);<br>或者把语句改成类似这样:<br>copyFile(pchar(GetCurrentDir+'/tmp.rm'),pchar(saveDialog1.Filename),false);