Veröffentlicht 20. Oktober 200816 j Hallo Ich habe ein Problem mit MoveFile und zwar wird in meinem Programm diese Funktion nicht ausgeführt. In meinem Testprogramm aber schon. AnsiString sWork = Pfad + "\\" + LB->Items->Strings[LB->ItemIndex]; AnsiString sAusgabe = ExtractFilePath(Pfad) + "Bilder\\" + LB->Items->Strings[LB->ItemIndex]; AnsiString sWork2 = ExtractFilePath(Pfad) + "Bilder\\" + LB->Items->Strings[LB->ItemIndex]; AnsiString sUmbennen = Form2->Caption + ".pdf"; if (FileExists(sWork)) { MoveFile(sWork.c_str(),sAusgabe.c_str()); //umbennen if (FileExists(sWork2)) { RenameFile(sWork2.c_str(), sUmbennen.c_str()); ... ... Pfad ist sowas wie "E:\\Verwaltung Zeichnungen\\Daten..." Unterschied zum Testprogramm ist, dort habe ich es fest angegeben. Also MoveFile("E:\\Test.txt" , "E:\\Ordner\\Testumbennant.txt"); und funktionierte was mach ich jetzt falsch?!
20. Oktober 200816 j Vermutlich passen die Pfade einfach nicht. was mach ich jetzt falsch?! Du ignorierst die absoluten Grundlagen der Fehlerbehandlung. MoveFile hat einen Rückgabewert: Return Values If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
20. Oktober 200816 j Autor Pfade hab ich aber überprüft. Stehen so drin wie sie sein müssten. Und der Rückgabewert hilft mir ja nicht. Bekomm ich false, weils nicht abläuft.
20. Oktober 200816 j Pfade hab ich aber überprüft. Stehen so drin wie sie sein müssten.Sind die Pfade absolut oder relativ? Und der Rückgabewert hilft mir ja nicht. Bekomm ich false, weils nicht abläuft. To get extended error information, call GetLastError.
20. Oktober 200816 j Autor Das hatte ich übersehen. Ja ich hab die Datei geöffnet gehabt also konnte er nicht darauf zugreifen. Danke
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.