AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Von BlockRead/BlockWrite wegkommen - IFileOperation steht bereit, aber kein CallBack
Thema durchsuchen
Ansicht
Themen-Optionen

Von BlockRead/BlockWrite wegkommen - IFileOperation steht bereit, aber kein CallBack

Ein Thema von dGeek · begonnen am 22. Sep 2016 · letzter Beitrag vom 25. Sep 2016
 
dGeek
(Gast)

n/a Beiträge
 
#3

AW: Von BlockRead/BlockWrite wegkommen - IFileOperation steht bereit, aber kein CallB

  Alt 23. Sep 2016, 08:17
Hat SHFileOperation nicht eine Limitierung von 260 Zeichen für den kompletten Dateinamen? Bin mir da gerade nicht sicher.
Wie würde denn ein Callback für SHFileOperation aussehen?

Super kleine Dateien ohne Callback kopiere ich so:
Delphi-Quellcode:
 ZeroMemory(@fos, SizeOf(fos));
 
 with fos do
  begin
  wFunc := aFunc;
  fFlags := FOF_NO_UI;
  pFrom := PChar(aSource.sSourceDirItem + #0);
  pTo := PChar(aDest.sDestDirItem + #0);
 end;
 
 Result := (0 = SHFileOperation(fos));
Ich habe zwar hier ein Callback für CopyFileEx und komme auch da rein, aber ich bekomme nicht raus wieviele Bytes aktuell kopiert wurden:

Delphi-Quellcode:
function CopyCallback(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: Int64; dwStreamNumber, dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle)
 : DWORD; stdcall;
var
 newpos: Integer;
const
 PROCESS_CONTINUE = 0;
begin
 Result := PROCESS_CONTINUE;
 if dwCallbackReason = CALLBACK_CHUNK_FINISHED then
  begin
   // newpos := Round(TotalBytesTransferred / TotalFileSize * 100);

   Inc(aGlobalVars.iBytesCopied, StreamBytesTransferred); // Geht natürlich in die Hose

   // with progressform.Progressbar do
   // if newpos <> Position then
   // Position := newpos;

   Application.ProcessMessages;
  end;
end;

Geändert von dGeek (23. Sep 2016 um 09:03 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz