Главная страница
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.023 c
15-1193945573
Ricks
2007-11-01 22:32
2007.12.02
В шоке от украинских новостей...


15-1194252709
andreoman
2007-11-05 11:51
2007.12.02
программка фиксирующа обращение к порту ПК


15-1193901205
Slider007
2007-11-01 10:13
2007.12.02
С днем рождения ! 1 ноября 2007 четверг


15-1193824197
Jeer
2007-10-31 12:49
2007.12.02
Утилиты, макросы


15-1193813295
ZeroDivide
2007-10-31 09:48
2007.12.02
Программа для учета персональных финансов - бесплатно...