Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Wie funktioniert MoveFileWithProgress?

  Alt 8. Mär 2006, 09:24
Du müsstest deine Routine so deklarieren:
Delphi-Quellcode:
function CopyProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize,
  StreamBytesTransferred: int64; dwStreamNumber, dwCallbackReason: DWORD;
  hSourceFile, hDestinationFile: THandle; lpData: pointer): DWORD; stdcall;
begin
...
end;
Wichtig sind das stdcall, die exakten Typen der Parameter (int64) und dass es sich nicht um die Methode eines Objekts handeln darf. Bei der Angabe als Parameter machst du dann ein @ vor den Namen, also:
Delphi-Quellcode:
Result := MoveFileWithProgress(pchar(FilenameSource),
                               pchar(FilenameDest),
                               @CopyProgressRoutine,
                               nil,
                               MOVEFILE_REPLACE_EXISTING);
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat