Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SHFileOperation иногда ругается «Не могу скопировть»


Kolan ©   (2007-08-06 11:03:00) 

Здравствуйте,
 копирую так:

procedure TDBDirManager.CopyDirectoryTree(AHandle: THandle; AFromDir,
 AToDir: string);
var
 SHFileOpStruct: TSHFileOpStruct;
begin
 with SHFileOpStruct do
 begin
   Wnd := AHandle;
   wFunc := FO_COPY;
   pFrom := PChar(AFromDir);
   pTo := PChar(AToDir);
   fFlags := FOF_NOCONFIRMATION;
   fAnyOperationsAborted := False;
   hNameMappings := nil;
   lpszProgressTitle := nil;
 end;
 SHFileOperation(SHFileOpStruct);
end;


{Код взять из Тейкстры и Пачеко}

Дык вот иногда(не могу понять закономерность) ругается «Не удаётся скопировать файл. Не удаётся произвести чтение из файла или с диска.»
В ручную все копируется…


Kolan   (2007-08-06 12:42:00) [1]

> Так тоже пример и откуда ты знаешь в каком виде передавались
> параметры, может они уже включали пустую строку.

Да не я согласен что сам дурак… :)


Anatoly Podgoretsky   (2007-08-06 12:37:00) [2]

> Kolan  (06.08.2007 12:29:06)  [6]

Так тоже пример и откуда ты знаешь в каком виде передавались параметры, может они уже включали пустую строку.


Kolan   (2007-08-06 12:29:00) [3]

> И ошибку наверно получал 1026

Кода небыло.


> Не в этом, а в не читании документации, все это описано
> в справке.

Я как бы тупо скопировал из книги
Delphi 5 Руководство разработчика, том 1
стр. 554


Anatoly Podgoretsky   (2007-08-06 12:21:00) [4]

Не в этом, а в не читании документации, все это описано в справке.
И ошибку наверно получал 1026


Kolan   (2007-08-06 12:19:00) [5]

>
> pFrom := PChar(AFromDir + #0);
> pTo := PChar(AToDir + #0);

Благодарю. Именно в этом и была проблемма.
:)


Anatoly Podgoretsky   (2007-08-06 12:14:00) [6]

> Kolan  (06.08.2007 11:03:00)  [0]

pFrom := PChar(AFromDir + #0);
pTo := PChar(AToDir + #0);


Kolan   (2007-08-06 11:54:00) [7]

Мож я что не так списал из книжки, или там опшибка?


Kolan   (2007-08-06 11:12:00) [8]

Например:
AFromDir: 'D:\MyWork\TariffProject 0.1\SoftWare\Binary\DBRepository\02_08_2007 16-43-59\stactar.dbf'
AToDir: 'D:\MyWork\TariffProject 0.1\SoftWare\Binary\DB\'


Неработает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо