Kopiowanie pliku i brak dostępu

0

Witam,

Proszę o pomoc w rozwiązaniu problemu kopiowania pliku lub jakiejkolwiek innej czynności na pliku. Tworzę przykładowy plik na dysku i próbuję go skopiować do folderu i czy go chcę skopiować czy przenieść zawsze otrzymuję wyjątek o odmowie dostępu. Nie wiem czy problem leży w utworzonym pliku czy w instrukcji. Dziękuję

TFile::Copy( "D:\\a.txt", "D:\\A" ); 
0

Tak, A to katalog

0

Nie masz uprawnień do tej operacji, więc uruchom program z prawami administratora. ;)

Zresztą sprawdź w dokumentacji co w ogóle powinno się podać w argumentach tej metody. Obstawiam, że pierwszy argument powinien przyjmować ścieżkę bieżącego pliku, a drugi ścieżkę docelowego pliku (a nie samego katalogu). Jak już uporasz się z uprawnieniami, to spróbuj tak:

TFile::Copy("D:\\a.txt", "D:\\A\\a.txt");

IMO to logiczne – powinno działać.


Edit: Sprawdziłem w dokumentacji – System.IOUtils.TFile.Copy:

static void __fastcall Copy(const System::UnicodeString SourceFileName, const System::UnicodeString DestFileName)/* overload */;
static void __fastcall Copy(const System::UnicodeString SourceFileName, const System::UnicodeString DestFileName, const bool Overwrite)/* overload */;

No jak byk masz dwa argumenty – SourceFileName i DestFileName – oba to ścieżki/nazwy plików.

I zwróć uwagę na opcjonalny trzeci parametr, który umożliwia nadpisanie pliku, jeśli ten pod DestFileName już istnieje. W razie niepowodzenia poleci wyjątek.

0

Dzięki. Też na to wpadłem ☺

1 użytkowników online, w tym zalogowanych: 0, gości: 1