Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problem beim Verzeichniskopieren

  Alt 10. Mai 2006, 19:40
Wenn du den Code ganz genauso wie oben hast, dann liegt es schonmal nicht an diesem, da ja die ersten Verzeichnisse richtig kopiert werden.

Also entweder machst du es in deinem Programm anders, oder die Datei (mit den Verzeichnissen) ist futsch.

Lösung:
1: Datei überprüfen
2: oder uns den "richtigen" Code geben, falls da der Fehler drin ist
3: ...

Kannst ja auch erstmal versuchen noch ein 5. Verzeichniss an die Liste anzuhängen ... mal sehn was dann passiert ^^

[add]
Die Terminierung sieht eigenlich OK aus

[add2]
in der CodeLib gibt's (glaub ich) ein CopyDir (oder wie es da heißt) für mehrere Verzeichnisse, oder halt selbergemacht,
dann wird alles in einem Zug kopiert und wenn du dir dann eventuell noch den Fortschritsdialog anzeigen läßt, dann ist dieser ja auch für alles zusammen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  BackupPfad: String;
  bl: TStringList;
  i: Integer;
  s: String;
  fos: TSHFileOpStruct;
begin
  bl := TStringList.Create;

  //Das folgende wird normalerweise aus einer Datei ausgelesen
  bl.Add('C:\Daten\Verzeichnis_1');
  bl.Add('C:\Daten\Verzeichnis_2');
  bl.Add('C:\Daten\Verzeichnis_3');
  bl.Add('C:\Daten\Verzeichnis_4');

  BackupPfad := 'T:\Backup\';


  if bl.Count > 0 then
  begin
    s := '';
    for i := 0 to bl.Count - 1 do
      s := s + bl[i] + #0;
    ZeroMemory(@fos, SizeOf(fos));
    with fos do
    begin
      wFunc := FO_COPY;
      fFlags := FOF_FILESONLY;
      pFrom := PChar(s + #0);
      pTo := PChar(BackupPfad + #0)
    end;
    ShFileOperation(fos);
  end;

  bl.Free;
end;
PS: die StringList gibst du doch hoffentlich auch wieder frei? (in deinem richtigen Code)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat