コピーを停止するには?

解決


勉強中  2008-10-20 02:14:18  No: 32279

WindowsXP  Delphi6Personalです。
ファイルやフォルダのコピーをあるサイトの見本の
下記の関数で行っていますが、
大きなファイルやフォルダのコピー中に停止するにはどうしたらいいのでしょうか。
察するにfAnyOperationsAborted:=False;にtrueを送るのではと思うのですが
どのようなコードで渡すのか解りません。
よろしくお願いします。

function TForm1.CopyRoutine(FolderName: string; Path: string):Boolean;
var
  foStruct: TSHFileOpStruct;
begin
    with foStruct do
    begin
      wnd:=0;
      wFunc:=FO_COPY;
      pFrom:=PChar(FolderName+#0);  //コピーもと
      pTo:=PChar(Path + #0);    //コピー先
      fFlags:= FOF_NOCONFIRMMKDIR or FOF_NOCONFIRMATION ;
      fAnyOperationsAborted:=False;
      hNameMappings:=nil;
      lpszProgressTitle:=nil;
    end;
    Result := (SHFileOperation(foStruct) = 0);
end;


勉強中  2008-10-20 03:41:09  No: 32280

すみません。自己レスです。
lpszProgressTitle:=nil;
をコメントアウトしたら、
あの「コピー中」のダイアログが表示されるようになりました。
このダイアログの「キャンセル」ボタンでキャンセルできるので
コードで書く必要はないのですね。
お騒がせしました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加