Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#18

AW: Systemfehlercode 6 beim Kopieren von Dateien

  Alt 4. Nov 2019, 14:22
BytesCopied und BytesCopiedTmp sind global.

Ich glaube ich habs

Delphi-Quellcode:
// BytesCopied und BytesCopiedTmp sind global

function CopyCallback(TotalFileSize, TotalBytesCopied, StreamSize, StreamBytesTransferred: Int64; dwStreamNumber, dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle)
 : DWORD; stdcall;
var
 CanContinue: Boolean;
const
 PROCESS_CONTINUE = 0;
begin
 CanContinue := not Cancel;

 Result := PROCESS_CONTINUE;
 if dwCallbackReason = CALLBACK_CHUNK_FINISHED then
  begin
   if CanContinue then
    begin
     Inc(BytesCopied, StreamBytesTransferred - BytesCopiedTmp);
     BytesCopiedTmp := StreamBytesTransferred;
    end;
  end;
end;

procedure Kopiere;
begin
 BytesCopiedTmp := 0;
 Winapi.Windows.CopyFileEx(quelle, ziel), @CopyCallback, nil, @Cancel, 0);
end;

Geändert von DieDolly ( 4. Nov 2019 um 14:29 Uhr)
  Mit Zitat antworten Zitat