Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#4

Re: CopyFileProgress mit Fehler

  Alt 9. Jul 2007, 08:10
Danke dir erst einmal. Ich habe jetzt versucht den Code bei mir einzubauen, dabei ist mir aufgefallen, dass da ein kleiner Fehler drinn ist:
Delphi-Quellcode:
ProgressBar1.Max := (Msg.LParam) shl 32) + Msg.WParam;
// ich glaube so sollte es sein oder?
ProgressBar1.Max := (Int64(Msg.LParam) shl 32) + Msg.WParam;
Nun gut. Als ich das ausprobiert habe, kam sofort meine Meldung, dass alle Dateien übertragen wurden. Diese Meldung soll aber normaler Weise erst nach am Ende kommen. Auch die ProgressBars waren nicht zu sehen. Die Dateien wurden also im HiIntergrund kopiert.

Deshalb habe ich an meinen alten Code weiter versucht das Problem zu lösen. Dabei habe ich dies mit Erfolg versucht:
Delphi-Quellcode:
CALLBACK_CHUNK_FINISHED:
   begin
    Progress.PBrCopy.Position := TotalBytesTransferred.QuadPart;
    if Progress.PBrCopy.Position = Progress.PBrCopy.Max then
     begin
      inc(main.test);
      Main.Caption := inttostr(main.test);
      Progress.PBrCopy.Max := Trunc(0.4 + Progress.PBrCopy.Max * 100 / Main.FullSize);
      Progress.PBrCopyAll.Position := Progress.PBrCopyAll.Position + Progress.PBrCopy.Max;
     end;
    Result := PROGRESS_CONTINUE;
   end;
Nun stimmt die übertragene Anzahl von Dateien. Jetzt stellt sich nur noch die Frage, ob ich das hier lassen kann.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat