estoy tratando de mover archivos de un lugar a otro y utilizo la siguiente función:
Uses windows, shellapi....; var fuente, destino: String; function MoveDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin //application.ProcessMessages; // para que no se cuelgue ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_MOVE; fFlags := FOF_FILESONLY or FOF_SILENT or FOF_NOCONFIRMATION; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end;
Y su llamada:
procedure TForm1.Button1Click(Sender: TObject); begin destino:= 'D:\textos'; fuente:= 'D:\*.txt'; movedir(fuente, destino); end;
Hasta aquí todo bien, el único inconveniente es que cuando realiza la operación de mover
pone el form como colgado y me gustaría que lo dejará activo, he tratado de subsanarlo con "application.ProcessMessages;"
pero no resulta ponga en donde lo ponga......
Porfavor una manito ...