Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.29;
Скачать: CL | DM;

Вниз

Копирование директории   Найти похожие ветки 

 
lex7   (2003-09-18 09:33) [0]

Использую для копирования папки следующую функцию:

function CopyDirectory(FromFolder,
ToFolder: string;
CopyMode: FILEOP_FLAGS = FO_COPY
): boolean;
var
Fo: TSHFileOpStruct;
buffer: array[0..4096] of char;
p: pchar;
sr: TSearchRec;
begin
Result:=false;

if not DirectoryExists(FromFolder) then exit;

FillChar(Buffer, sizeof(Buffer), #0);
p := @buffer[0];
pPathCorrect(FromFolder);
StrECopy(p, PChar(FromFolder + "*.*")); // откуда копируем
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Application.Handle;
Fo.wFunc := CopyMode;
Fo.pFrom := @Buffer[0];
Fo.pTo := PChar(ToFolder); // куда копируем
Fo.fFlags := FOF_NOCONFIRMATION + FOF_NOCONFIRMMKDIR;
try
Application.MainForm.Enabled:=false;
if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
Application.MessageBox("Копирование прервано.", "Ошибка", MB_OK + MB_ICONERROR)
else
Result:=true;
finally
Application.MainForm.Enabled:=true;
end;
end;
//------------------------------------------------------------

При копирование на локальный диск (ToFolder) все нормально, а на сетевой - ошибка. В чем причина? Использую 2000-ю.


 
Song ©   (2003-09-18 10:27) [1]

Значит на сетевом диске запрещён доступ на запись. Анализируй ошибку через GetLastError



Страницы: 1 вся ветка

Текущий архив: 2003.09.29;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.037 c
3-96123
АлеКс
2003-09-09 05:43
2003.09.29
TADOQuery


8-96308
avk
2003-06-03 20:26
2003.09.29
все те же стрелочки... на Canvas


3-96092
AlexPul
2003-09-09 17:30
2003.09.29
Как вручную из командной строки запустить сервер Firebird ?


3-96143
SergBBS
2003-09-08 12:13
2003.09.29
FibPlus


3-96078
savva
2003-09-09 16:59
2003.09.29
Как удалить BDE?