Das Problem ist, dass mich die ProgressBar nicht interessiert.
Ich berechne die Position der ProgressBar anhand einer globalen Variablen OverallBytesCopied, die von mehreren Instanzen meiner Kopierfunktion aus mehreren Threads gefüttert wird.
CopyFileEx bietet im CallBack leider keinen Rückgabewert wie "ChunkBytesTransferred", was ich zu OverallBytesCopied dazuaddieren kann. Selber ausrechnen ist möglich, dann aber single-threadet.
Zitat:
ich mag das Gerüst, vielleicht Du auch?
Das ist genau die Vorlage die ich nutze. ich habe sie nur noch erweitert
Delphi-Quellcode:
if ADestinationFile <> 0 then
try
// If the actual BufferSize is biger than the file size, set buffersize to filesize
FileSizeSource := FileSize(ASourceFileName);
if BufferSize > FileSizeSource then
SetLength(Buffer, FileSizeSource)
else
SetLength(Buffer, BufferSize);