AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [XE] Bug in TDirectory.Copy, gibts schon einen QC eintrag?

[XE] Bug in TDirectory.Copy, gibts schon einen QC eintrag?

Ein Thema von Memnarch · begonnen am 4. Sep 2014 · letzter Beitrag vom 13. Jan 2015
 
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

[XE] Bug in TDirectory.Copy, gibts schon einen QC eintrag?

  Alt 4. Sep 2014, 15:31
Moin,
Habe einen Bug in TDirectory.Copy festgestellt. Habe nachgeguckt ob es bereits einen QC-Eintrag gibt, schien aber nicht so(vllt hab ich auch falsch gesucht, kann das jemand bestätigen?).
Könntet ihr vllt einmal nachgucken, ob der Bug in einer der Folgeversionen (xe2-xe7, jenachdem was ihr habt) gefixxt wurde?

Der Bug:
Normalerweise kopiert TDirectory.Copy die Ordnerstruktur von Source nach Destination, undzwar rekursiv.
Wenn ich folgenden pfad habe:
C:\Foo\FooB\File.txt

kann ich folgendes machen um alles zu kopieren:

TDirectory.Copy('C:\Foo', 'D:\Target') Bei folgendem geht es aber nicht, der Ordner FooB ist dann nämlich leer:

TDirectory.Copy('C:\Foo\', 'D:\Target') Kaputt geht es nur, weil am Ende ein Backslash angefügt wurde. In der Methode gibt es einen aufruf zu StuffString, dort möchte man den SourcePfad vom kompletten Pfad am Anfang abschneiden(also praktisch soetwas wie ExtractRelativePath)

Die Länge des SourceDir-Strings wird allerdings falsch berechnet, nämlich so:

Length(SourceDir) + Length('\') Es wird also immer ein Backslash dazugerechnet, hat der Pfad also bereits eines, geht der erste Buchstabe des relativen Pfades verloren. TFile.Copy schlägt dann fehl(was auch nicht zurückgegeben wird). Wahrscheinlich wäre

Length(IncludeTrailingPathDelimiter(SourceDir)) besser gewesen.

Jedenfalls: Gibts diesen Bug in den folgeversionen noch oder vllt schon einen QC Eintrag, den ich nur übersehen habe?

MFG
Memnarch
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch ( 4. Sep 2014 um 15:34 Uhr)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:42 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