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

Вниз

Ошибка при вызове SHFileOperation после ForceDirectories   Найти похожие ветки 

 
pasha_golub ©   (2007-11-06 17:03) [0]

Смысл кода внизу:

edit2.text - путь, который должен быть создан
edit1.text - папка, которая должна быть скопирована в ранее созданный путь

Так вот если убрать ForceDirectories, то все работает тихо. Если нет, то ошибка: "Can"t read the source files" или что-то в этом роде. Дословно не помню, сорри.

Шо за мистика?

procedure TForm1.Button1Click(Sender: TObject);
var  SH_Info: TSHFileOpStruct;
begin
   if not ForceDirectories(edit2.text) then
    raise Exception.Create("Smth wrong");
   ZeroMemory(@SH_Info, SizeOf(SH_Info));
   SH_Info.pFrom := PChar(edit1.Text);
   SH_Info.Wnd := GetDesktopWindow;
   SH_Info.wFunc := FO_COPY;
   SH_Info.pTo := PChar(edit2.text);
   SH_Info.fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_RENAMEONCOLLISION or FOF_SILENT;
   if SHFileOperation(SH_Info) > 0 then RaiseLastOsError;
end;


 
Johnmen ©   (2007-11-06 17:45) [1]

Ну что тут сказать? Читайте справку по SHFILEOPSTRUCT в MSDN. В частности про pFrom.


 
Rouse_ ©   (2007-11-06 17:47) [2]

Терминирующие нулики добавь...


 
Anatoly Podgoretsky ©   (2007-11-06 18:31) [3]

> pasha_golub  (06.11.2007 17:03:00)  [0]

Зачем нужен ForceDirectories, если используешь SHFileOperation


 
pasha_golub ©   (2007-11-07 09:44) [4]


> Johnmen ©   (06.11.07 17:45) [1]
>
> Ну что тут сказать? Читайте справку по SHFILEOPSTRUCT в
> MSDN. В частности про pFrom.
>


> Rouse_ ©   (06.11.07 17:47) [2]
>
> Терминирующие нулики добавь...

Спасибо, ребята. Позор мне. Помню шо заковыка была... Ужас. Я цельный день промучался.


> Anatoly Podgoretsky ©   (06.11.07 18:31) [3]
>
> > pasha_golub  (06.11.2007 17:03:00)  [0]
>
> Зачем нужен ForceDirectories, если используешь SHFileOperation
>

Там серия этих Форсов, создают необходимые пути поначалу. Думал, что в этом дело.


 
Anatoly Podgoretsky ©   (2007-11-07 09:58) [5]

> pasha_golub  (07.11.2007 09:44:04)  [4]

> Rouse_ ©   (06.11.07 17:47) [2]
>
> Терминирующие нулики добавь...

> Спасибо, ребята. Позор мне. Помню шо заковыка была... Ужас. Я цельный день промучался.

На этом многие спотыкаются. Большинство примеров в Сети имеют подобную ошибку.


 
pasha_golub ©   (2007-11-07 10:45) [6]


> Anatoly Podgoretsky ©   (07.11.07 09:58) [5]


> На этом многие спотыкаются.

Да самое обидно, что я уже пользовался этим SHFileOp, да не стал искать код. С наскоку решил. :)



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
15-1194017562
TUser
2007-11-02 18:32
2007.12.02
Посоветйте принтер


2-1194604904
Ega23
2007-11-09 13:41
2007.12.02
Сравнение вариантов


15-1193864290
Kick
2007-10-31 23:58
2007.12.02
Словарь трминов программирования


2-1194519342
allucard
2007-11-08 13:55
2007.12.02
Работа с массивом


15-1193162399
Студент
2007-10-23 21:59
2007.12.02
Найти величины углов