når jeg prøver dit eksempel, kopierer den fint (dog uden statusbar), men den kommer med en fejlmeddelelse "kan ikke kopiere. den angivne fil blev ikke fundet " Selvom denne fejlmeddelelse kommer, ER filen kopieret
function CopyCallback( TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: INT64; dwStreamNumber, dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle; aProgressBar: TProgressBar): DWORD; stdcall; var NewPos: Integer; begin Result := PROGRESS_CONTINUE; if dwCallbackReason = CALLBACK_CHUNK_FINISHED then begin NewPos := Round(TotalBytesTransferred / TotalFileSize * 100); with aProgressBar do if NewPos <> Position then Position := NewPos; Application.ProcessMessages; end; end;
var b: Bool;
function DoFilecopy(const Source, Target: string): Boolean; begin try if Assigned(aProgressBar) then begin aProgressBar.Position := 0; aProgressBar.Max := 100; Result := CopyFileEx(PChar(Source), PChar(Target), @CopyCallback, aProgressBar, @b, 0); end else Result := CopyFileEx(PChar(Source), PChar(Target), nil, nil, nil, 0); except Result := false; end; end;
begin b := false; DoFilecopy(inFile, Outfile); end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.