![]() |
Kopieren will mal und mal nicht
Hi was mach ich Falsch beim Kopieren von Dateien mal will es und mal nicht
Sind meine Pfad angaben zulang ??
Delphi-Quellcode:
oder ist das Kopieren nicht richtig, aber manchmal geht es ja??
sPfadNichtOffen:= FileListBox1.FileName;
sPfadOffen:= (ServerPfad + sPath_Puplic + ExtractFileName(ShellTreeView1.Path)+'\' + ExtractFileName(FileListBox1.FileName)); sPfadNichtOffen1:= (ShellTreeView1.SelectedFolder.PathName+'\Bemerkungen\' + ExtractFileName(ChangeFileExt(FileListBox1.FileName, '.txt'))); sPfadOffen1:= (ServerPfad + sPath_Puplic + ExtractFileName(ShellTreeView1.Path)+'\Bemerkungen\' + ExtractFileName(ChangeFileExt(FileListBox1.FileName, '.txt'))); sPfadNichtOffen2:= (ShellTreeView1.SelectedFolder.PathName+'\Bemerkungen\Bemer2\' + ExtractFileName(ChangeFileExt(FileListBox1.FileName, '.txt'))); sPfadOffen2:= (ServerPfad + sPath_Puplic + ExtractFileName(ShellTreeView1.Path)+'\Bemerkungen\Bemer2\' + ExtractFileName(ChangeFileExt(FileListBox1.FileName, '.txt')));
Delphi-Quellcode:
Gruß Sascha
begin
CopyFile(PChar(sPfadNichtOffen), PChar(sPfadOffen),True); CopyFile(PChar(sPfadNichtOffen1), PChar(sPfadOffen1),True); if CopyFile(PChar(sPfadNichtOffen2), PChar(sPfadOffen2),True)Then MessageDlgPos7('Dateien Kopiert',mtInformation,[mbOk],self); end; |
Re: Kopieren will mal und mal nicht
Der letzte Parameter von CopyFile heißt FailIfExists. Evtl. musst Du den auf false stellen?
|
Re: Kopieren will mal und mal nicht
lass dir mal vor dem kopieren die ordner ausgeben:
Delphi-Quellcode:
und guck mal ob die dinger überhaupt existieren
begin
showmessage(sPfadNichtOffen + #13#10 + sPfadOffen); showmessage(sPfadNichtOffen1 + #13#10 + sPfadOffen1); showmessage(sPfadNichtOffen2 + #13#10 + sPfadOffen2); CopyFile(PChar(sPfadNichtOffen), PChar(sPfadOffen),True); CopyFile(PChar(sPfadNichtOffen1), PChar(sPfadOffen1),True); if CopyFile(PChar(sPfadNichtOffen2), PChar(sPfadOffen2),True)Then MessageDlgPos7('Dateien Kopiert',mtInformation,[mbOk],self); end; und ob zb die \ richtig gesetzt sind oder ob du irgendwo 2 hintereinander hast das kann schnell passieren wenn man nen pfad aus mehreren quellen zusammenstellt |
Re: Kopieren will mal und mal nicht
Ja das habe mir auch schon den Pfad anzeigen lassen aber das´stimmt alles.
Wie gesat manchmal ja manchmal nein. Und bis gestern ist das Programm fast 1/2 jahr gelaufen ohne Probleme |
Re: Kopieren will mal und mal nicht
Wie äußert sich "geht nicht" denn?
|
Re: Kopieren will mal und mal nicht
Zitat:
Delphi-Quellcode:
Die Datei wird einfach nicht in das andere Verzeichnis Kopiert
overwrite
Boolean. Gibt an, ob vorhandene Dateien überschrieben werden sollen. Der Standardwert ist False. Erforderlich. |
Re: Kopieren will mal und mal nicht
Hm? Welches CopyFile rufst Du denn da auf? Aufgrund der PChars würde ich auf die Unit Windows schließen, und da ist es eben andersherum. Zur Not geh auf Nummer Sicher und schreib
Delphi-Quellcode:
Windows.CopyFile(...,false)
|
Re: Kopieren will mal und mal nicht
Hat leider auch keinen erfolg gebracht mmhh
Gibt es noch andere Methoden mit denen ich sicher Kopieren kann. Das ist mir zu unsicher wenn es mal funzt und mal wieder nicht |
Re: Kopieren will mal und mal nicht
Was sagt denn GetLastError? Muss ja irgendeine Ursache haben, dass es nicht geht.
|
Re: Kopieren will mal und mal nicht
GetLasterror sagt :" Der Vorgang wurde erfolgreich beendet" ist aber nicht so die Datei wurde nicht Kopiert
|
Re: Kopieren will mal und mal nicht
Wie sieht der Aufruf denn jetzt aus?
|
Re: Kopieren will mal und mal nicht
oder kann es sein das die dateien irgendwie geöffnet sind?
|
Re: Kopieren will mal und mal nicht
Delphi-Quellcode:
if (not(FileExists(sPfadOrdnerOeffentlich))) then // Falls Plan nicht Veröffentlicht if MessageDlgPos7('Wollen Sie die Datei Kopieren',mtInformation,[mbNo,mbYes],self) = mrYes then begin Label6.Caption:= sPfadNichtOffen2; Label22.Caption:= sPfadOffen2; Windows.CopyFile(PChar(sPfadNichtOffen), PChar(sPfadOffen),False); Windows.CopyFile(PChar(sPfadNichtOffen1), PChar(sPfadOffen1),False); ShowMessage(SysErrorMessage(GetLastError)); if Windows.CopyFile(PChar(sPfadNichtOffen2), PChar(sPfadOffen2),False)then begin MessageDlgPos7('Datei Kopiert',mtInformation,[mbOk],self); end; |
Re: Kopieren will mal und mal nicht
Delphi-Quellcode:
if not Windows.CopyFile(PChar(sPfadNichtOffen), PChar(sPfadOffen),False) then
ShowMessage(SysErrorMessage(GetLastError)); if not Windows.CopyFile(PChar(sPfadNichtOffen1), PChar(sPfadOffen1),False) then ShowMessage(SysErrorMessage(GetLastError)); |
Re: Kopieren will mal und mal nicht
Zitat:
siehe hier im Thread ![]() Und ich glaube du hast damit recht wenn ich die datei verschiebe ohne das ich sie vorher geladen habe verschiebt er sie, Wen ich sie vorher ins Grid lade nicht mehr. Ergo ist Sie durch die Datei noch in Benutzung Danke ich glaub da hätte ich mich tot gesucht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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 by Thomas Breitkreuz